Discussion on the development model of open source

xiaoxiao2021-03-06  117

The existing successful Open Source development model can be analyzed from two aspects. First let's take a look at the development mode of a single software, then analyze the development model of Linux release.

Open Source Development Mode for existing single software:

Small opensource software development model

Typical example: Linux Virtual Server Project (www.linuxvirtualserver.org)

It features very few core developers, generally 1-2, core developers undertake the main development and maintenance of the corresponding website, users will make an error report and provide a small amount of error correction.

Generally rarely use CVS to perform code management, but regularly release new versions. Generally, there is no clear development plan and schedule, and its software update speed and quality depends on the degree and level of the core developer. The GNU software in this development model is currently adopted. The emergence of SourceForge.NET simplifies the repetition of this part of the developer.

2. Medium Open Source Software Development Mode

Typical example: gtk (www.gtk.org)

It features a 3-5 core maintenance personnel, between 10 people participating in the development, using CVS to perform code management, develop communication through Mailist / IRC, clear development plan and schedule.

The number of error reports and corrections proposed by the user are much generated.

3. Completely closed business Open Source software

Typical example: Qt (www.trolltech.com)

It features the software to develop within the commercial company, and users can only provide error reports, not providing repair patches, and the company regularly publishes the new version of the source code. The advantage is that the software quality level is higher, and the disadvantage is that if the company has difficulty developing strength, the software development is easy to stagnate.

4. Develop a relatively closed large Open source software development

Typical example: xfree86 (www.xfree86.org)

It features dozens of core developers (generally no more than 100), including 3-5 core developers, only these core developers have the right to submit the code, the code uses CVS management, but it is not open to the outside world. The outside world can be obtained, the development plan and schedule are clear, the release date is generally accurate, but the software version upgrade speed is generally slow. The advantage of this is that the code quality is average, and the interference is small, the disadvantage is that the user cannot actively participate in the test work during the development process.

The stability period is longer after increasing the new function.

5. Developed large open source software developed by commercial software.

Typical example: OpenOffice (www.openoffice.org)

Mozilla (www.mozilla.org)

It is characterized by the software plan, based on a commercial software by Open Source, generally under the control of the original commercial company, generally does not use License in the form of the GPL / BSD, generally similar to MPL (Mozilla Public License). Copyright, it is characterized by the company's right to use these source code, and their development work is generally coded by the company's employees to core developers and leaders, code and error management through CVS and Bugzilla. With a formal QA system, this model generally progresses very fast, such as Mozilla still cannot post version 1.0 for more than three years. The main reason is that this is not much higher than these large software development, so the number of free software programmers is not a lot, and there is also due to the background of commercial software companies, so that some freedom programmers are not willing to join. But the end users involved in the test are more. Mozilla's download is generally around hundreds of thousands. The number of bugs that repair is also increased year-on-year. 6. Development of "Dictators" models.

Typical example: kernel (www.kernel.org)

It features a lot of software developers, usually more than 100 people, any free programmer can

Submit your own modification, but only the leader (on Linux core is Linus and Alan Cox) to merge these work to official core release versions. And they generally do not use CVS, just through Maillist for project management, communication, error reporting. It is often published in the new version. The advantage is that the software update is very fast, the plan is open, and the officially released code quality is very excellent. Because the number of users is very large The final release of the error is generally very rare. The disadvantage of this way is that the development direction of the plan is mainly determined by core developers, reflecting their design ideas. However, this disadvantage is from another perspective of these core leaders to determine the technical leadership of the project.

7. Development of "Democratic" models of Open Source software.

Typical example: gnome (www.gnome.org)

KDE (www.kde.org)

It is characterized by a large number of core developers. There are many sub-software plans. Use CVS to perform code management. The core development team is generally above 100 people. It is divided into several groups, each group has 1-2 leaders, and the permissions are more clear. There is a clear development schedule management and schedule, there is a strict alpha, beta, RC1, RC2 test phase. The main developers regularly hold the developer conference, discuss the design of issues and new versions in the development. Have your own development library and encoding / test standards.

Like commercial software companies, a formal version is generally launched every other year. This way is

One way the highest efficiency is the highest, and only this development model can undertake the development of KDE / GNOME to develop KDE / GNOME to develop KDE / GNOME.

The development model of the existing Linux distribution version:

1. Fully enclosed

Typical example: Caldera (www.caldera.com)

It is characterized by the development of the company's internal programmer. It does not release any test version before the official product. Its shortcomings are obvious, mainly reflected in the product development cycle, and the user is inadequate. Quality is completely dependent on the development management level and strength in the company.

2. Semi-closed

Typical example redhat (www.redhat.com)

It features a product to launch 1-2 test versions in the Beta phase, then launch a formal version. The development system within Redhat is a kind of combination of Open Source development model and traditional software development mode. Its characteristics are: the company will combine technical research and development departments and production sectors, and the management of technology research and development is relatively loose. It has a group of technical very leading free programmers, mainly responsible for technical research and development and prospective research, and the production department adopts an enterprise-based project management system, so the benefits are both maintained the quality of the product and maintain technology. The leading position. Moreover, some technical secrets can be kept. The disadvantage is that there is no powerful research and development strength, and there is no way to assume this development model. 3. All open.

Typical example mandrake (www.mandrake.com)

Debian (www.debian.org)

It is characterized by the development phase, which is completely open to users, and accepts user error reports at any time, and within the inside to maintain a relatively small development team for management and key procedures. It is characterized by fast development speed and stable quality, and maximizes 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 model with traditional development mode

The development model of Open Source is that while contributing code to the Open Source community, a large number of free developers and testers are obtained, which is unable to get the general close-source.

However, because the Open Source development model is inconvenient to manage the shortcomings of inconvenient management based on Internet and loose free programmers, these companies need to establish a perfect project management, quality test, progress control, etc. Traditional development models in China, and Open Source Community cooperation is likely to establish a benign development system.

* The status quo and prospects of China's Open Source development model.

At China, Open-Source is increasingly attached to everyone, and it has also begun to have the first Open-Source-based company, such as red flag Linux, TurboLinux, Shenzhen Pocketix, etc. However, it can be said that the development of OpenSource in China is still in the early stage, and its characteristics are:

1. There is no free programming class.

At present, China's programmer is a lot, see the number of articles on www.9cbs.net and a large number of shared sites, and there are very few freelancer, and currently have an influential freedom in international. The software plan is brought by Chinese people only LIDS (Linux Intrusion Detection System Xie Huang), and MiniGUI (MiniGui, Blue Point Weiling), SBM (Smart Boot Manager, Su Zi) four The reason can be attributed to

Several faces:

* The current economic situation of Chinese programmers is still in a warm and full, but also to rush for your own livelihood.

So you can't bet more energy development in free software.

* Chinese programmers are unfamiliar with free software development. Generally manifested as traditionally developed hands

Workshop model influence, not used to cooperate development, and insufficient experience in managing a project.

* There are not many programmers based on UNIX systems. Most of the free software is based on the Linux / UNIX system.

For various reasons, Windows programmers account for the vast majority.

2. No complete free software community

Foreign free software communities include Slashdot.org forums, software download bases such as SourceForge.Net, and has their own Linux magazine, such as Linux journal, etc. At present, in China, there is already a forum and download base such as Freesof.cei.gov.cn, LinuxForum, LinuxAid, and some Linux magazines just started, but in general, the strength and influence of the community is still very small. There is little impact on the media and the public. 3. How to use and feed back the power of free software communities to understand deficiencies

This basic manifestation is basically the development process of the domestic Open Source company, and the internal test steps are also followed, and the open development process of free software cannot be utilized.

In addition, China's pirated software is rampant, the promotion of intellectual property law is weak, and the individual copyright awareness has also caused the model of China's simulation of foreign Open Source, which is complete, currently in China, is very simple Open Source company is very Difficult, but producers and hardware manufacturers and some embedded vendors that make Linux distributions can try to develop work using Open Source to combine traditional development models because of this part of the manufacturer, software piracy Their harm is not as large as ordinary software, and use Open Source development model, they can occupy the market share, expand the company's influence, improve software development speed and quality, understand the role of user needs.

However, from the actual point of view, the domestic Open Source is still in the primary stage, using CVS for code management, Mailist conducts user and developer communication, Bugzilla's error tracking company is basically not.

Never use the Open Source Software Plan.

However, it is actually the opportunity, and the company has taken the lead in internationally, and the company that uses open source development model will be able to get a lot of help from this advanced development model, but don't combine itself, don't engage in face projects. To achieve work, it is possible to improve progress.

source:

Huihoo

转载请注明原文地址:https://www.9cbs.com/read-125508.html

New Post(0)