NetBeansProposal

Status

This proposal has been discussed at http://s.apache.org/netbeans_proposal and NetBeans has been accepted for incubation at Apache, vote result at https://s.apache.org/netbeans_vote

The next steps are being discussed at https://lists.apache.org/list.html?dev@netbeans.apache.org - see http://s.apache.org/netbeans_please_join for how to subscribe.

Abstract

NetBeans is an open source development environment, tooling platform, and application framework, used by 1.5 million individuals each month.

Proposal

Apache NetBeans will continue to focus on the areas it has focused on while sponsored by Sun Microsystems and Oracle. It will continue to primarily focus on providing tools for the Java ecosystem, while also being focused on tools for other ecosystems, languages and technologies, such as JavaScript, PHP, and C/C++. It will continue to actively support its community by means of mailing lists, tutorials, and documentation.

Background

NetBeans started in 1995/96 in Prague, in the Czech Republic, as a student project. Sun Microsystems acquired and open sourced it in 2000 and, with the acquisition of Sun Microsystems by Oracle in 2010, became part of Oracle. Throughout its history in Sun Microsystems and Oracle, NetBeans has been free and open source and has been leveraged by its sponsor as a mechanism for driving the Java ecosystem forward.

Rationale

Although NetBeans is already open source, moving it to a neutral place like Apache, with its strong governance model, is expected to help get more contributions from various organizations. For example, large companies are using NetBeans as an application framework to build internal or commercial applications and are much more likely to contribute to it once it moves to neutral Apache ground. At the same time, though Oracle will relinquish its control over NetBeans, individual contributors from Oracle are expected to continue contributing to NetBeans after it has been contributed to Apache, together with individual contributors from other organizations, as well as self-employed individual contributors.

Initial Goals

The initial goals of the NetBeans contribution under the Apache umbrella are to establish a new home for an already fully functioning project and to open up the governance model so as to simplify and streamline contributions from the community.

Current Status

Meritocracy: NetBeans has been run by Oracle, with the majority of code contributions coming from Oracle. The specific reason for moving to Apache is to expand the diversity of contributors and to increase the level of meritocracy in NetBeans. Apache NetBeans will be actively seeking new contributors and will welcome them warmly and provide a friendly and productive environment for purposes of providing a development environment, tooling environment, and application framework.

Community: NetBeans has approximately 1.5 million active users around the world, in extremely diverse structures and organizations. NetBeans is used by teachers and instructors at schools and universities to teach Java and other languages. It is used by students as an educational tool. It is used by large organizations who base their software on the application framework beneath NetBeans. It is used by web developers for creating web sites and by developers using a range of tools, languages, and technologies to be productive and efficient software developers.

Core Developers: The core developers will come from a range of organizations, including Oracle, which will continue its investment in NetBeans.

Alignment: The application framework is the basis of a range of mission critical scientific software at large organizations in defense, aerospace, logistics, and research, such as at Boeing, Airbus Defense and Space, NASA, and NATO.

Known Risks

Orphaned Products: The community proposing NetBeans for incubation is strong and vibrant. The size and diversity of the community is a guarantee against the project being orphaned.

Inexperience with Open Source: NetBeans has been free and open source since the early days of its sponsorship by Sun Microsystems. Though some in the NetBeans community may have worked on Apache projects, the majority who haven't are well versed in the principles of open source.

Homogenous Developers: Individual contributors from Oracle and other initial committer organizations will contribute code to NetBeans in Apache, while at the same time individuals from other organizations will actively be sought to be added to the project. The aim of the move to Apache is precisely to open up the governance model, hence the desire to build up an extremely heterogeneous developer base is strong. For example, several organizations are very heavily invested in the NetBeans application framework, having based their software suites on top of it, hence there will be a significant interest to make available individual contributors from these organizations, which tend to be large and well established in the software industry. Also, including and beyond these organizations, the NetBeans community around the world is extremely diverse and heterogenous in relation to geography and backgrounds of developers.

Reliance on Salaried Developers: Most of the contributors are anticipated to be paid to work on projects in the Java ecosystem. Others will come from organizations where they are paid to work with other languages and technologies, such as JavaScript, PHP, and C/C++. However, since Java skills are needed to develop most parts of NetBeans, it is unlikely that the developers will go very far outside the Java ecosystem.

Relationships with Other Apache Products: Many Apache projects have been supported by tooling in NetBeans over the years, such as Apache Ant and Apache Maven. A number of Apache projects are used by NetBeans, such as Apache Commons and friends.

An Excessive Fascination with the Apache Brand: NetBeans has a strong brand of its own. Though the stability of the Apache ecosystem is attractive, the reason for this proposal is simply to be part of the neutral development sharing ecosystem that Apache makes available.

Documentation

See https://netbeans.org/kb/index.html for an extensive portal to all the documentation.

Initial Source

The initial source is in Mercurial at hg.netbeans.org and will be moved, with assistance from Apache infra team, to Apache Git.

Source and IP Submission Plan

NetBeans is dual licensed, CDDL + GPL v2 with Classpath Exception. Upon entering Apache, the NetBeans license will be migrated to the current Apache License.

Trademarks

Oracle owns trademark registrations for the NetBeans mark in the U.S. and EU, and would donate those, including the name "NetBeans" and the "netbeans.org" domain, to the Apache Foundation, along with other artifacts, including the U.S. copyright registrations related to NetBeans. The trademark and copyright transfers would be detailed in separate documents.

External Dependencies

NetBeans is a large project with multiple dependencies and some changes may be needed during incubation to comply with Apache requirements.

https://netbeans.org/downloads/licence/8.1/nb81-THIRDPARTYLICENSE.txt

Identifying which dependencies are core and non-core will be needed as part of the process in meeting Apache requirements about third-party dependencies. (L)GPL (and possibly other) based dependencies and usages will need to be reviewed, and solved, as Apache does not allow (L)GPL dependencies, although these concerns can be resolved during incubation, and are not upfront blockers.

Required Resources

Specific Infrastructure Requests

SIR03 was initially mentioned as the migration of plugins.netbeans.org to Apache infrastructure but after discussing the proposal we have decided to remove that goal for now. The plugins service will eventually have to migrate, but that can happen separately from the project incubation process.

Initial Committers

Below is the initial list of individual contributors, while more individual contributors will be added during incubation.

ASF members with a specific interest in the project are welcome to request being added to this list of initial committers.

After the project has been accepted and started in the incubator, additional committers can join, as usual, based upon their merit in the project.

Bold means that there has already been code contributed to NetBeans, while those without bold means that the contributor has an intention to contribute to Apache NetBeans while not having done so before. That does not mean that those in bold are better or worse, just that they'll be able to get started more quickly in Apache NetBeans since they've worked with the NetBeans source code before.

Note: Some of the individual contributors listed below belong in multiple different categories, e.g., NetBeans Dream Team members are often NetBeans plugin developers too, etc, while some of those in the NetBeans Platform customers category are also NetBeans Dream Team members, etc.

Sponsors

Champion

Mentors

Sponsoring Entity