| Free Software HomeAboutContact |  | 
Top :
Free Software Developement Process
Free Software Developement Process
Open Source software as a development
methodology has the potential to alter the whole approach to making
software resulting in more reliable products and faster and leaner
development.
The theoretical process is explain by Eric Raymond in The Cathedral and
the Bazaar[4]
and in Homesteading the Noosphere[6]
The base of this method is a collaborative work, over the Internet, on the
source of the software. Source changes are usually submitted as patch files to
the developers' mailing list. Some developers usually manually apply them and
test on their own systems. If the core developers approve it, the patch is then
eventually committed to the source repository CVS, now a de-facto standard
version control system.
Lists are for most projects automatically archived and available on-line with
basic reply-threading and for hypertext browsing. Most of the time, a bug-report
mailing list is used as a bug-tracking system.
Some Open Sources projects
There are thousands of open-source projects currently in progress. The ones
included in this section are just a selection of those which are most notable
for their influence, size, and success. Two projects we present here in more
detail are the Linux kernel and the Apache Web server.
Linux
Linux
is arguably the most well-known Open Source project today. It is a Unix-type
operating system kernel which aims for a complete implementation of the POSIX
specification, with SYS V and BSD extensions. From a humble beginning in 1991 as
a hobby project of Linus Torvalds, then a student at University of Helsinki,
Linux has over the years grown both in popularity and capability. It has evolved
from a mere 10,000 line kernel to a full-featured modern OS with more than 2
million lines of code. Its user community has blossomed from fewer than 100
users in 1991 to more than 20 million in 2001. After quietly gaining popularity
over the years in the academia, Internet service providers, and scientific
researchers, Linux has recently broken into the media limelight and was featured
on mainstream and business-oriented newspapers, radio, and TV programs. Linux is
the force behind Deja.com, eBay, and many NASA servers.
The Apache Web Server
The Apache Web server originated in the early 1995 as a set of
patches to the then-popular HTTP server from NCSA (hence the name, ``A PAtCHy
server''). These patches were collected by a group of volunteers from
contributions from Webmasters frustrated by NCSA's lack of further development
and then released back to the Web community. The patches were a big success, and
soon the group moved on to a complete overhaul and redesign of the server:
Apache 1.0 was released to the general public on 1 December 1995 and went on its
march to the Web server market domination. According to Netcraft survey, 54% of Web servers
run Apache in February 1999 and 62% in April 2001. Other significant Open Source projects
are listed below :
- GNU The GNU Project was launched in 1984
to develop a complete Unix-like operating system which is free software: the
GNU system.
- Gnome The GNOME project has built a
complete free and easy-to-use desktop environment for the user, as well as a
powerful application framework for the software developer. GNOME is part of
the GNU project, and is free software (some times referred to as open source
software.) GNOME is included in pretty much every BSD and GNU/Linux
distribution and works on many other Unix systems.
- Mozilla Mozilla is an open-source
web browser, designed for standards compliance, performance and portability.
- KDE KDE is a powerful Open Source
graphical desktop environment for Unix workstations. It combines ease of use,
contemporary functionality, and outstanding graphical design with the
technological superiority of the Unix operating system.
- Perl Perl, created, written, developed,
and maintained by Larry Wall (lwall@netlabs.com), is a language for processing
text. With its sophisticated pattern matching capabilities, straightforward
I/O, and flexible syntax, Perl has become the language of choice for many I/O,
file processing and management, process management, database access, graphical
programming, networking, and world wide web programming and system
administration tasks.
- Python Python is an interpreted,
interactive, object-oriented programming language. It incorporates modules,
exceptions, dynamic typing, very high level dynamic data types, and classes.
Python combines remarkable power with very clear syntax. It has interfaces to
many system calls and libraries, as well as to various window systems, and is
extensible in C or C++. It is also usable as an extension language for
applications that need a programmable interface. Finally, Python is portable:
it runs on many brands of UNIX, on the Mac, and on PCs under MS-DOS, Windows,
Windows NT, and OS/2.
- PHP PHP is a server-side,
cross-platform, HTML embedded scripting language.
- Wine Wine is an implementation of the
Windows 3.x and Win32 APIs on top of X and Unix.
Main Open Sources tools Here is a list of the main tools used by the
community for develop
Open Source:
- GCC (GNU Compiler Collection) GCC (GNU C
Compiler, or gcc) was developed by GNU to provide a free compiler for the GNU
system. GCC can now compile programs written in C, C++, Objective C, Ada 95,
Fortran 77 (g77), and Pascal, hence the new name the GNU Compiler
Collection. GNU Compiler Collection now also includes a Java Compiler.
- GNU tools (make,
automake, autoconf)
- CVS - Version control
system
- KDevelopThe KDevelop-Project is an
easy to use C/C++ IDE (Integrated Development Enviroment) for Unix.
- Software
Carpentry The aim of the Software Carpentry project is to create a new
generation of easy-to-use software engineering tools, and to document both
those tools and the working practices they are meant to support.
Collaborative software developement
The collaborative method used in Open Source development, as described in
The Cathedral and the Bazaar[4],
has given birth to specialized Web sites which provide a systematic framework
for collaborative Open Source software development. This method has even been
tried in other areas like peer-reviewed journals on the Internet, for instance
First Monday[8].
- SourceForge.net: SourceForge is
a free service to Open Source developers offering easy access to CVS, mailing
lists, bug tracking, message boards/forums, task management, site hosting,
permanent file archival, full backups, and total web-based administration.
- Tigris.org: Tigris.org is a mid-sized
Open Source community focused on building better tools for collaborative
software development. Tigris combines the best-of-breed open source tools into
an internet-scale software development suite. Key features of the Tigris tool
set are security, scalability, extensibility, and customizability. Tigris will
provide simple, powerful web interfaces to tools for version control, issue
tracking, discussions and decision-making, automated builds, automated
testing, project management and knowledge management.
|
|
|