Open Source Development Mode

Source: Internet
Author: User
Tags gtk
The existing successful open source development mode can be analyzed in two aspects. First, let's look at the development mode of a single software, and then analyze the development mode of the Linux release version.

Existing Open Source Development Modes for a single software:
1. Small opensource software development model

Typical instance: Linux virtual server project (www.linuxvirtualserver.org)
It is characterized by a few core developers in the project, generally one to two. The core Developers undertake the main development work and maintain the corresponding website, the user reports errors and provides a small number of error fixes.

Generally, CVS is rarely used for code management. Instead, a new version is released on a regular basis. Generally, there is no clear development plan or schedule. the speed and quality of software update depend on the input and level of core developers. Currently, the GNU software that adopts this development mode is the largest. The appearance of sourceforge.net simplifies the repetitive work of these developers.

2. Medium-sized Open Source Software Development Mode

Typical Example: GTK (www.gtk.org)

It features 3-5 core maintenance personnel and 10-40 developers who participate in the development, use cvs for code management, and use maillist/IRC for development and communication, have a clear development plan and schedule.

The number of error reports and fixes raised by users is large, and some branches are generated.

3. Completely closed commercial open source software
Typical Example: QT (www.trolltech.com)
The software is fully developed by commercial companies. Generally, users can only provide error reports and repair patches. The company regularly releases the source code of new versions. The advantage is that the software quality level is high, and its disadvantage is that if the company's development strength is insufficient, the software development is easy to stagnate.

4. Relatively closed development of large open source software

Typical instance: xfree86 (www.xfree86.org)

It features dozens of core developers (generally no more than 100), including 3-5 core developers who have the right to submit code, the code is managed using CVS, but it is not open to the outside world and can be obtained only when a new version is released. The development plan and schedule are clear, and the release date is generally accurate, but the Software Version Upgrade speed is generally slow. The advantage of such development is that the code quality is relatively average, with little interference. The disadvantage is that users cannot actively participate in the testing work during the development process,
New features have a long validity period.

5. Large Open Source Software Development transformed from commercial software.

Typical Example: OpenOffice (www.openoffice.org)

Mozilla (www.mozilla.org)

It is characterized by the fact that its software plan was initially based on a commercial software with open source, which is generally controlled by the original commercial company and generally does not use a license in the form of GPL/BSD, generally, MPL-like (Mozilla Public License) Copyright is used, which features that companies can have the right to use these source codes, generally, the company's employees are the core developers and leaders who manage code and errors through CVs and Bugzilla. With a formal QA system, this model is generally not very fast. For example, Mozilla cannot release version 1.0 for more than three years. The main reason is that these large-scale software development starts from a relatively high level, so there are not many free software programmers, and the background of commercial software companies, this makes some free programmers reluctant to join. However, many end users participate in the test. Mozilla downloads are generally around 100,000. The number of fixed errors also increases year-on-year.

6. Development of "authoritarian" large-scale open source software.

Typical instance: kernel (www.kernel.org)

It is characterized by a large number of software developers, generally more than a hundred people, any free programmer can
Submit your own modifications, but only the leader (Linus and Alan Cox at the core of Linux) can merge the work into the formal core release. In addition, they generally do not use CVS, but use maillist for project management, communication, and error reporting. New versions are often released. The advantage is that the software update speed and development speed are fast and the plan is open. As the final ruling only has a few very experienced programmers, the quality of officially released code is very good. Due to the large number of users, the final release version of the code is generally very rare. The disadvantage of this approach is that the development direction of the plan is mainly determined by the core developers, reflecting their design ideas. However, from another perspective, the foresight of these core leaders determines the technical adequacy of engineering.

7. Development of "democratic"-type large-scale Open Source software.

Typical Example: Gnome (www.gnome.org)

KDE (www.kde.org)

It is characterized by a large number of core developers, a large number of sub-software plans, and the use of CVS for code management. The core development team is generally more than a hundred people and is divided into several groups, each group has 1-2 leaders with clear permissions, clear development progress management and schedules, and strict Alpha, Beta, RC1, and RC2 testing stages. Major developers hold regular developer conferences to discuss issues in development and the design of new versions. Has its own development documentation library and coding/testing standards.

Like commercial software companies, an official version is generally released every six months. This method is intended
One of the most efficient ways, and only this development mode can undertake the development of super large software packages such as KDE/Gnome using Internet collaboration.

The development mode of the existing Linux release version:

1. Completely closed

Typical instance: Caldera (www.caldera.com)

It is characterized by closed development by programmers within the company. It does not release any test versions before the formal product. Its shortcomings are obvious, mainly because of the long product development cycle and insufficient user participation. The quality depends on the company's internal development management level and strength.

2. semi-closed

Typical instance RedHat (www.redhat.com)

The product features a 1-2 Beta versions in the Beta phase, and then a formal version. The internal development system of RedHat is a good combination of the Open Source development mode and the traditional software development mode. Its features are as follows: the company combines the technology R & D department and the production department. The management of the technology R & D department is relatively loose. It owns a group of technically leading free programmers and is mainly responsible for technology R & D and prospective research, the Production Department adopts an enterprise-oriented project management system, which maintains both the quality of the product and the leading position in technology. It can also keep some technical secrets. The disadvantage is that there is no strong R & D strength and there is no way to undertake this development model.

3. fully open.
Typical instance of Mandrake (www.mandrake.com)

Debian (www.debian.org)

The feature is that the development stage is fully open to users, and users can receive error reports at any time. Only a relatively small number of development teams are maintained internally for management and key program tackling. It features fast development, stable quality, and the ability to maximize the power of the Open Source community. The disadvantage is that it is not easy to control the development cycle.

* How to combine the Open Source development mode with the traditional development mode

The advantage of the Open Source development mode is that, while contributing code to the Open Source community, a large number of free developers and testers have been obtained, which is not possible for Close-Source companies.

However, because the Open Source development model is based on the Internet and loose and free programmers, it is inconvenient for these companies to establish a complete project management and quality testing, it is possible to establish a benign development system only by cooperating with the Open Source community in the effective management mode of traditional development modes such as schedule control.

* Current Situation and Prospects of the Open Source development model in China.

Currently in China, open-source has attracted more and more attention and has begun to appear in the first batch of open-source-based companies, such as red-flag Linux, turbolinux, and Shenzhen pocketix. However, it can be said that the development of opensource in China is still in its early stages, and its features include:

1. There is no free programmer class.

Currently, there are a large number of programmers in China. You can estimate the number of articles on www.csdn.net and a large number of shared software, but few free programmers, currently, only Linux virtual server (Linux) lids (Linux Intrusion Detection System Xie huagang) and MiniGUI (MiniGUI, blue Point company Wei Yongming), SBM (smart Boot manager, Su zhe) Four, the reason can be summarized as below
Items:

* Chinese programmers are still in a high-income situation and must make a living for themselves,
Therefore, we cannot place more energy on the development of free software.

* Chinese programmers are not familiar with the Free Software development mode. It is generally represented by traditional developers.
The workshop model has an impact and is not used to cooperative development and lacks experience in managing a project.

* There are not many programmers Based On Unix systems. Most of the free software is based on Linux/Unix systems,
In China, Windows programmers account for the vast majority for various reasons.

2. No complete free software community has been formed

Free Software communities outside China include forums such as slashdot.org, software download bases such as freshmeat.net, software program bases such as sourceforge.net, and their own Linux magazines such as Linux Journal. At present, there are already forums and download bases such as freesof.cei.gov.cn, Linuxforum, and Linuxaid in China, as well as some newly created Linux magazines, but in general, the power and influence of the community is still very small, and the influence on the media and the public is not significant.

3. Open Source companies lack understanding of how to leverage and reward the power of the Free Software Community

This is basically manifested in the development process of Open Source companies in China. It also follows the closed development of traditional software companies, internal testing steps, and cannot use the Open Development Process of free software.

In addition, China's pirated software is rampant, intellectual property law is poorly promoted, and personal copyright awareness is indifferent, which also makes it impossible to simply imitate the Open Source companies in China, currently, it is very difficult to create a simple Open Source company in China, however, vendors, hardware vendors, and some embedded vendors who make Linux releases can try to use the combination of Open Source and traditional development modes for development, for these vendors, software piracy does not harm them as much as normal software companies. Using Open Source's development model, they can gain market share and expand the company's influence, improve the speed and quality of software development and understand the role of user needs.

However, in practice, Open Source companies in China are still in a relatively preliminary stage, using CVS for code management, maillist for user and developer communication, and bugzilla for Error Tracking.

Not to mention leading the Open Source software program.

But in fact, the lack is also the opportunity. China is the first in line with international standards. Companies adopting the Open Source development model will certainly be able to get a lot of help from this advanced development model, however, you must combine your own situations, do not engage in face engineering, and commit your work in order to make progress possible.

Source: huihoo

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.