Information Technology Reference
In-Depth Information
These numbers count only the major contributors to the Linux kernel. Other
active developers report and patch bugs, write small utilities and other
applications, and contribute in less elaborate but still important ways to the
project. The credit for these kinds of contributions is given in change logs and
source code comments, far too many to read and count in a serious way. It is
a reasonable guess that there are at least several thousand, and probably in
the tens of thousands, of developers who make these smaller contributions to
Linux. 22
How is the work of these volunteer contributors organized? Unlike the formal
software engineering frameworks described earlier, with open-source software
development there is no authority other than consensus. In the case of Linux,
Torvalds still acts as a sort of benevolent dictator supported by a small number of
key lieutenants. Other open-source efforts have a small core team who make the
decisions about what code to accept. This informal model of software development
has produced a complex modern operating system consisting of millions of lines
of code with a quality and stability that can rival that of commercial software.
There are now thousands of open-source software projects addressing a
large number of different application areas. For many university computer sci-
ence departments, the use of open-source software for research is the standard
way of working. In 2013, SourceForge, a popular site for open-source software
projects, stated, “3.4 million developers create powerful software in over
324,000 projects,” 23 which works out as an average of about ten developers per
project. In addition, the SourceForge directory “connects more than 46 million
consumers with these open source projects and serves more than 4,000,000
downloads a day.” 24 Even though only a very small number of these projects
attract a critical mass of developers and attain widespread use, the open-source
software development model has clearly proved to be a viable alternative to
traditional software development methodologies.
Scripting languages
Another type of programming language that is increasing in popularity
is a group of languages known as scripting languages , high-level programming
languages that are interpreted by another program at runtime rather than
needing a compiler to transform the source code into an executable program.
A shell script in Unix was a sequence of commands that could be read from a
file and executed in sequence, as if they had been typed in using a keyboard.
By extension, the term script has become used to describe a set of instructions
executed directly by the computer rather than needing a compiler like a tra-
ditional programming language. Today, scripting languages have become much
more powerful than these early examples because of the addition of standard
programming language concepts, such as loops and branches. There are two
main uses for scripting languages. The first is as a “glue” language that allows
applications to connect off-the-shelf software components that are written in
a conventional programming language. The second exploits the functionality
and ease of use of scripting languages to employ them as an alternative to con-
ventional languages for a range of general programming tasks.
Search WWH ::




Custom Search