Download (PPT, 1.04MB)


store.theartofservice.com/the-open-source-software-toolkit.html

Open-source Software

Commercial software Free and open-source software

An editor has expressed a concern that this section lends undue weight to certain ideas, incidents, controversies or matters relative to the article subject as a whole. Please help to create a more balanced presentation. Discuss and resolve this issue before removing this message.

Commercial software Free and open-source software

While less common than commercial proprietary software, free and open-source software may also be commercial software. This is a fact that the Free Software Foundation emphasizes, and is the basis of the Open Source Initiative.

Commercial software Free and open-source software

Under the free software business model, free software vendors may charge a fee for distribution and offer pay support and software customization services

Commercial software Free and open-source software

Free software is generally available at no cost and can result in permanently lower costs compared to proprietary software

Commercial software Free and open-source software

A report by Standish Group says that adoption of open source has caused a drop in revenue to the proprietary software industry by about $60 billion per year.[better source needed]

Canonical Ltd. Open-source software

Ubuntu, a Debian-based Linux distribution with Unity (it formerly used GNOME) desktop

Canonical Ltd. Open-source software

Storm, an object-relational mapper for Python, part of the Launchpad codebase

Canonical Ltd. Open-source software

Upstart, an event-based replacement for the init daemon

Canonical Ltd. Open-source software

Launchpad a centralised website containing several component web applications designed to make collaboration between free software projects easier:

Canonical Ltd. Open-source software

PPA, a special software repository for uploading software packages to be built and published as an APT repository

Canonical Ltd. Open-source software

Blueprints, a tool for planning features of software

Canonical Ltd. Open-source software

Rosetta, an online language translation tool to help localisation of software (cf. the Rosetta Stone)

Canonical Ltd. Open-source software

Malone (as in “Bugsy Malone”), a collaborative bug-tracker that allows linking to other bug-trackers

Canonical Ltd. Open-source software

Soyuz, a tool for creating custom-distributions, such as Kubuntu and Xubuntu.

Open-source software

Open-source software is the most prominent example of open-source development and often compared to (technically defined) user-generated content or (legally defined) open-content movements.

Open-source software

A report by the Standish Group (from 2008) states that adoption of open-source software models has resulted in savings of about $60 billion per year to consumers.

Open-source software – Definitions

The Open Source Initiative’s definition is widely recognized as the standard or de facto definition

Open-source software – Definitions

OSI uses The Open Source Definition to determine whether it considers a software license open source. The definition was based on the Debian Free Software Guidelines, written and adapted primarily by Perens. Perens did not base his writing on the “four freedoms” of Free Software from the FSF, which were only widely available later.

Open-source software – Definitions

Under Perens’ definition, open source describes a broad general type of software license that makes source code available to the general public with relaxed or non-existent copyright restrictions

Open-source software – Definitions

However, Richard Stallman of the Free Software Foundation flatly opposes the term “Open Source” being applied to what they refer to as “free software”

Open-source software – Definitions

Increasingly, the consensus term “free and open source software” is used by the communities at large to describe the common ground between free software and open source software.

Open-source software – Proliferation of the term

While the term “open source” applied originally only to the source code of software, it is now being applied to many other areas such as Open source ecology, a movement to decentralize technologies so that any human can use them. However, it is often misapplied to other areas which have different and competing principles, which overlap only partially.

Open-source software – Open software licensing

A license defines the rights and obligations that a licensor grants to a licensee. Open source licenses grant licensees the right to copy, modify and redistribute source code (or content). These licenses may also impose obligations (e.g., modifications to the code that are distributed must be made available in source code form, an author attribution must be placed in a program/ documentation using that open source).

Open-source software – Open software licensing

Authors initially derive a right to grant a license to their work based on the legal theory that upon creation of a work the author owns the copyright in that work

Open-source software – Open software licensing

When an author contributes code to an open source project (e.g., Apache.org) they do so under an explicit license (e.g., the Apache Contributor License Agreement) or an implicit license (e.g., the open source license under which the project is already licensing code)

Open-source software – Open software licensing

Placing code (or content) in the public domain is a way of waiving an author’s (or owner’s) copyrights in that work. No license is granted, and none is needed, to copy, modify or redistribute a work in the public domain.

Open-source software – Open software licensing

Examples of free software license / open source licenses include Apache License, BSD license, GNU General Public License, GNU Lesser General Public License, MIT License, Eclipse Public License and Mozilla Public License.

Open-source software – Open software licensing

The proliferation of open-source licenses is one of the few negative aspects of the open-source movement because it is often difficult to understand the legal implications of the differences between licenses.With more than 180,000 open source projects available and its more than 1400 unique licenses, the complexity of deciding how to manage open-source usage within “closed-source” commercial enterprises have dramatically increased

Open-source software – Open software licensing

An important legal milestone for the open source / free software movement was passed in 2008, when the US federal appeals court ruled that free software licences definitely do set legally binding conditions on the use of copyrighted work, and they are therefore enforceable under existing copyright law. As a result, if end-users do violate the licensing conditions, their license disappears, meaning they are infringing copyright.

Open-source software – Certifications

Certification can help to build higher user confidence

Open-source software – Certifications

Alternatively, assurance models (such as DO178B) have already solved the “certification” approach for software. This approach is tailorable and can be applied to OSS, but only if the requisite planning and execution, design, test and traceability artifacts are generated.

Open-source software – Development model

In his 1997 essay The Cathedral and the Bazaar, open-source evangelist Eric S

Open-source software – Development model

In the traditional model of development, which he called the cathedral model, development takes place in a centralized way

Open-source software – Development model

The bazaar model, however, is different. In this model, roles are not clearly defined. Gregorio Robles suggests that software developed using the bazaar model should exhibit the following patterns:

Open-source software – Development model

The users are treated like co-developers and so they should have access to the source code of the software

Open-source software – Development model

The first version of the software should be released as early as possible so as to increase one’s chances of finding co-developers early.

Open-source software – Development model

Frequent integration

Open-source software – Development model

Code changes should be integrated (merged into a shared code base) as often as possible so as to avoid the overhead of fixing a large number of bugs at the end of the project life cycle. Some open source projects have nightly builds where integration is done automatically on a daily basis.

Open-source software – Development model

There should be at least two versions of the software. There should be a buggier version with more features and a more stable version with fewer features. The buggy version (also called the development version) is for users who want the immediate use of the latest features, and are willing to accept the risk of using code that is not yet thoroughly tested. The users can then act as co-developers, reporting bugs and providing bug fixes.

Open-source software – Development model

The general structure of the software should be modular allowing for parallel development on independent components.

Open-source software – Development model

Dynamic decision making structure

Open-source software – Development model

There is a need for a decision making structure, whether formal or informal, that makes strategic decisions depending on changing user requirements and other factors. Cf. Extreme programming.

Open-source software – Development model

Data suggests, however, that OSS is not quite as democratic as the bazaar model suggests. An analysis of five billion bytes of free/open source code by 31,999 developers shows that 74% of the code was written by the most active 10% of authors. The average number of authors involved in a project was 5.1, with the median at 2.

Open-source software – Considerations for software producers

Software experts and researchers on open source software have identified several advantages and disadvantages

Open-source software – Considerations for software producers

It is sometimes said that the open source development process may not be well defined and the stages in the development process, such as system testing and documentation may be ignored. However this is only true for small (mostly single programmer) projects. Larger, successful projects do define and enforce at least some rules as they need them to make the teamwork possible. In the most complex projects these rules may be as strict as reviewing even minor change by two independent developers.

Open-source software – Considerations for software producers

Not all OSS initiatives have been successful, for example, SourceXchange and Eazel

Open-source software – Development tools

In OSS development, the participants, who are mostly volunteers, are distributed among different geographic regions, so there is need for tools to aid participants to collaborate in source code development. Often, these tools are also available as OSS.

Open-source software – Development tools

Revision control systems such as Concurrent Versions System (CVS) and later Subversion (svn) and Git are examples of tools that help centrally manage the source code files and the changes to those files for a software project.

Open-source software – Development tools

Utilities that automate testing, compiling, and bug reporting help preserve stability and support of software projects that have numerous developers but no managers, quality controller, or technical support. Building systems that report compilation errors among different platforms include Tinderbox. Commonly used bugtrackers include Bugzilla and GNATS.

Open-source software – Development tools

Tools such as mailing lists, IRC, and instant messaging provide means of Internet communication between developers. The Web is also a core feature of all of the above systems. Some sites centralize all the features of these tools as a software development management system, including GNU Savannah, SourceForge, and BountySource.

Open-source software – Projects and organizations

Some of the “more prominent organizations” involved in OSS development include the Apache Software Foundation, creators of the Apache web server; the Linux Foundation, a nonprofit which as of 2012 employed Linus Torvalds, the creator of the Linux Operating System kernel; the Eclipse Foundation, home of the Eclipse software development platform; the Debian Project, creators of the influential Debian GNU/Linux distribution; the Mozilla Foundation, home of the Firefox web browser; and OW2, European-born community developing open source middleware

Open-source software – Projects and organizations

Several open source programs have become defining entries in their space, including the GIMP image editing system; Sun’s Java programming language and environment; the MySQL database system; the FreeBSD Unix Operating System; Sun’s OpenOffice.org office productivity suite; and the Wireshark network packet sniffer and protocol analyser.

Open-source software – Projects and organizations

Open Source development is often performed “live and in public”, using services provided for free on the Internet, such as the Launchpad and SourceForge web sites, and using tools that are themselves Open Source, including the CVS and Subversion source control systems, and the GNU Compiler Collection.

Open-source software – Projects and organizations

Open Source Software Institute is a membership-based, non-profit (501 (c)(6)) organization established in 2001 that promotes the development and implementation of open source software solutions within US Federal, state and local government agencies. OSSI’s efforts have focused on promoting adoption of open source software programs and policies within Federal Government and Defense and Homeland Security communities.

Open-source software – Projects and organizations

Open Source for America is a group created to raise awareness in the U.S. Federal Government about the benefits of open source software. Their stated goals are to encourage the government’s use of open source software, participation in open source software projects, and incorporation of open source community dynamics to increase government transparency.

Open-source software – Projects and organizations

Mil-OSS is a group dedicated to the advancement of OSS use and creation in the military.

Open-source software – Funding

Unlike proprietary off-the-shelf software, which comes with restrictive copyright licenses, open source software can be given away for no charge. This means that its creators cannot require each user to pay a license fee to fund development. Instead, a number of alternative models for funding its development have emerged.

Open-source software – Funding

Software can be developed as a consulting project for one or more customers. The customers pay to direct the developers’ efforts: to have bugs prioritized and fixed or features added. Companies or independent consultants can also charge for training, installation, technical support, or customization of the software.

Open-source software – Funding

Another approach to funding is to provide the software freely, but sell licenses to proprietary add-ons such as data libraries. For instance, an open-source CAD program may require parts libraries which are sold on a subscription or flat-fee basis. Open-source software can also promote the sale of specialized hardware that it interoperates with, as in the case of the Asterisk telephony software, developed by a manufacturer of PC telephony hardware (Digium).

Open-source software – Funding

Many open source software projects have begun as research projects within universities, as personal projects of students or professors, or as tools to aid scientific research. The influence of universities and research institutions on open source shows in the number of projects named after their host institutions, such as BSD Unix, CMU Common Lisp, or the NCSA HTTPd which evolved into Apache.

Open-source software – Funding

Companies may employ developers to work on open-source projects that are useful to the company’s infrastructure: in this case, it is developed not as a product to be sold but as a sort of shared public utility

Open-source software – Funding

Also, there exists stipends to support the development of open source software like Google’s Summer of Code founded 2005.

Open-source software – Funding

A new funding approach for open source projects is crowdfunding, organized over web platforms like Kickstarter, Indiegogo, or Bountysource.

Open-source software – Closed source / proprietary software

Comparison of open source and closed source

Open-source software – Closed source / proprietary software

The debate over open source vs. closed source (alternatively called proprietary software) is sometimes heated.

Open-source software – Closed source / proprietary software

The top four reasons (as provided by Open Source Business Conference survey) individuals or organizations choose open source software are:

Open-source software – Closed source / proprietary software

Since innovative companies no longer rely heavily on software sales, proprietary software has become less of a necessity

Open-source software – Closed source / proprietary software

With this market shift, more critical systems are beginning to rely on open source offerings, allowing greater funding (such as US Department of Homeland Security grants ) to help “hunt for security bugs.” According to a pilot study of organisations adopting (or not adopting) OSS; several factors of statistical significance were observed in the manager’s beliefs in relation to (a) attitudes toward outcomes, (b) the influences and behaviours of others and (c) their ability to act.

Open-source software – Closed source / proprietary software

Many advocates argue that open source software is inherently safer because any person can view, edit, and change code. A study of the Linux source code has 0.17 bugs per 1000 lines of code while proprietary software generally scores 20–30 bugs per 1000 lines.

Open-source software – Free software

The main difference is that by choosing one term over the other (i.e. either “open source” or “free software”) one lets others know about what one’s goals are. As Richard Stallman puts it, “Open source is a development methodology; free software is a social movement.”

Open-source software – Free software

Critics have said that the term “open source” fosters an ambiguity of a different kind such that it confuses the mere availability of the source with the freedom to use, modify, and redistribute it. Developers have used the alternative terms Free/open source Software (FOSS), or Free/Libre/open source Software (FLOSS), consequently, to describe open source software which is also free software.

Open-source software – Free software

The term “open source” was originally intended to be trademarkable; however, the term was deemed too descriptive, so no trademark exists. The OSI would prefer that people treat open source as if it were a trademark, and use it only to describe software licensed under an OSI approved license.

Open-source software – Free software

OSI Certified is a trademark licensed only to people who are distributing software licensed under a license listed on the Open Source Initiative’s list.

Open-source software – Free software

Open-source software and free software are different terms for software which comes with certain rights, or freedoms, for the user. They describe two approaches and philosophies towards free software. Open source and free software (or software libre) both describe software which is free from onerous licensing restrictions. It may be used, copied, studied, modified and redistributed without restriction. Free software is not the same as freeware, software available at zero price.

Open-source software – Free software

The definition of open source software was written to be almost identical to the free software definition

Open-source software – Free software

The FSF believes that knowledge of the concept of freedom is an essential requirement, insists on the use of the term free, and separates itself from the open source movement.

Open-source software – Open-source vs. source-available

Although the OSI definition of “open source software” is widely accepted, a small number of people and organizations use the term to refer to software where the source is available for viewing, but which may not legally be modified or redistributed

Open-source software – Open-source vs. source-available

In 2007 Michael Tiemann, president of OSI, had criticized companies such as SugarCRM for promoting their software as “open source” when in fact it did not have an OSI-approved license

Open-source software – Open-source vs. source-available

The creative commons licenses, designed mainly for media but sometimes used for software, offers license clause elements which allow licensing in the spectrum between Open-source, source-available, and public domain.

Open-source software – End of 1990s: Foundation of the Open Source Initative

In 1997, Eric Raymond published The Cathedral and the Bazaar, a reflective analysis of the hacker community and free software principles. The paper received significant attention in early 1998, and was one factor in motivating Netscape Communications Corporation to release their popular Netscape Communicator Internet suite as free software. This code is today better known as Mozilla Firefox and Thunderbird.

Open-source software – End of 1990s: Foundation of the Open Source Initative

Netscape’s act prompted Raymond and others to look into how to bring the FSF’s free software ideas and perceived benefits to the commercial software industry

Open-source software – End of 1990s: Foundation of the Open Source Initative

There has been a significant shift in the corporate philosophy concerning the development of free and open-source software (FOSS).

Open-source software – End of 1990s: Foundation of the Open Source Initative

With open-source software, generally anyone is allowed to create modifications of it, port it to new Operating Systems and processor architectures, share it with others or, in some cases, market it

Open-source software – End of 1990s: Foundation of the Open Source Initative

Localization—particularly in the context of local governments (who make software decisions). Casson and Ryan argue that “governments have an inherent responsibility and fiduciary duty to taxpayers” which includes the careful analysis of these factors when deciding to purchase proprietary software or implement an open-source option.

Open-source software – End of 1990s: Foundation of the Open Source Initative

Several open-source software licenses have qualified within the boundaries of the Open Source Definition

Open-source software – End of 1990s: Foundation of the Open Source Initative

The open source label came out of a strategy session held on April 7, 1998 in Palo Alto in reaction to Netscape’s January 1998 announcement of a source code release for Navigator (as Mozilla)

Open-source software – End of 1990s: Foundation of the Open Source Initative

Many people claimed that the birth of the Internet, since 1969, started the open source movement, while others do not distinguish between open-source and free software movements.

Open-source software – End of 1990s: Foundation of the Open Source Initative

The Free Software Foundation (FSF), started in 1985, intended the word “free” to mean freedom to distribute (or “free as in free speech”) and not freedom from cost (or “free as in free beer”). Since a great deal of free software already was (and still is) free of charge, such free software became associated with zero cost, which seemed anti-commercial.

Open-source software – End of 1990s: Foundation of the Open Source Initative

The Open Source Initiative (OSI) was formed in February 1998 by Eric S

Open-source software – Current applications

“We migrated key functions from Windows to Linux because we needed an operating system that was stable and reliable — one that would give us in-house control. So if we needed to patch, adjust, or adapt, we could.”

Open-source software – Widely used open-source software

Open source software projects are built and maintained by a network of volunteer programmers

Open-source software – Business applications

Business models for open-source software

Open-source software – Business applications

There are a number of commonly recognized barriers to the adoption of open-source software by enterprises

Open-source software – Business applications

A commonly employed business strategy of commercial open-source software firms is the dual-license strategy, as demonstrated by Ingres, MySQL, Alfresco, and others.

Open-source software – Business applications

Another business strategy could be adapted from existing Internet micro-payments systems including flattr and paypal.

Open-source software – Further reading

Androutsellis-Theotokis, Stephanos; Spinellis, Diomidis; Kechagia, Maria; Gousios, Georgios (2010). “Open source software: A survey from 10,000 feet” (PDF). Foundations and Trends in Technology, Information and Operations Management 4 (3-4): 187–347. doi:10.1561/0200000026. ISBN 978-1-60198-484-5.

Open-source software – Further reading

Coleman, E. Gabriella. Coding Freedom: The Ethics and Aesthetics of Hacking (Princeton UP, 2012)

Open-source software – Further reading

Fadi P. Deek and James A. M. McHugh (2008). Open Source: Technology and Policy. Cambridge: Cambridge University Press. ISBN 978-0-511-36775-5.

Open-source software – Further reading

Chris DiBona and Sam Ockman and Mark Stone, ed. (1999). Open Sources: Voices from the Open Source Revolution. O’Reilly. ISBN 1-56592-582-3.

Open-source software – Further reading

Joshua Gay, ed. (2002). Free Software, Free Society: Selected Essays of Richard M. Stallman. Boston: GNU Press, Free Software Foundation. ISBN 1-882114-98-1.

Open-source software – Further reading

Benkler, Yochai (2002), “Coase’s Penguin, or, Linux and The Nature of the Firm.” Yale Law Journal 112.3 (Dec 2002): p367(78) (in Adobe pdf format)

Open-source software – Further reading

v. Engelhardt, Sebastian (2008). “The Economic Properties of Software”, Jena Economic Research Papers, Volume 2 (2008), Number 2008-045 (PDF).

Open-source software – Further reading

Lerner, J. & Tirole, J. (2002): ‘Some simple economics on open source’, Journal Of Industrial Economics 50(2), p 197–234

Open-source software – Further reading

Välimäki, Mikko (2005). The Rise of Open Source Licensing: A Challenge to the Use of Intellectual Property in the Software Industry (PDF). Turre Publishing.

Open-source software – Further reading

Polley, Barry (2007-12-11). Open Source Discussion Paper – version 1.0 (PDF). New Zealand Ministry of Justice. Retrieved 2007-12-12.

Open-source software – Further reading

Rossi, M. A. (2006): Decoding the free/open source software puzzle: A survey of theoretical and empirical contributions, in J. Bitzer P. Schröder, eds, ‘The Economics of Open Source Software Development’, p 15–55.

Free and open-source software

Free and open-source software (FOSS) is software that can be classified as both free software and open source software

Free and open-source software

Free, open-source Operating Systems such as Linux and BSD are widely utilized today, powering millions of servers, desktops, smartphones (e.g. Google Android), and other devices. Free software licenses and open-source licenses are used by many software packages.

Free and open-source software – Advantages and benefits of free and open-source software

be adapted to the underlying hardware solution

Free and open-source software – Advantages and benefits of free and open-source software

be customized to meet job specification as exactly as possible

Free and open-source software – Advantages and benefits of free and open-source software

by the user, being an individual, a company or a public institution, or by some contractor(s) without the slightest vendor lock-in

Free and open-source software – Advantages and benefits of free and open-source software

usually there is an abundance of more or less experienced contractors available to accomplish the tasks above and also the system administration, maintenance and technical support

Free and open-source software – Advantages and benefits of free and open-source software

the profile of the potential contractor starts at some student (or pupil), a freelancer, some Small and medium enterprises to huge corporations

Free and open-source software – Advantages and benefits of free and open-source software

stability and security issues can be addressed and resolved in a direct manner by the user or all users using a community approach

Free and open-source software – Advantages and benefits of free and open-source software

higher motivation to exchange testing results and user experiences between adopters directly or openly, especially if they are not competitors

Free and open-source software – Advantages and benefits of free and open-source software

higher motivation to contribute back to the software by bug-reports, since there is no external profiteer, that could charge for the improvements and bug-fixes, because the code is simply available

Free and open-source software – Advantages and benefits of free and open-source software

at will cooperation based on mutuality and reciprocity

Free and open-source software – Advantages and benefits of free and open-source software

there is no contractual dependency on the vendor whatsoever; (please note that a lack of resources to work with the source code is not solvable by any license)

Free and open-source software – Advantages and benefits of free and open-source software

very often free and open-source software if also free of cost, leaving maximum financial leverage to be put into the tailoring of the entire hard- and software solution (which can be outsourced to external contractors)

Free and open-source software – Advantages and benefits of free and open-source software

very ubiquitous free and open-source software, depending on the adoption rate and the time scale, has been extensively security audited and tested on many hardware solutions and in various application scenarios; e.g. the Linux kernel is ubiquitously in use on servers, routers and mobile devices all over the world, hence field-tested and case-hardened for the exposure in the Internet.

Free and open-source software – Advantages and benefits of free and open-source software

software is an immaterial good ; when such a good is distributed under a free and open-source license, its monetary and non-monetary value to its users and to the economy the are part of can multiplies heavily

Free and open-source software – Advantages and benefits of free and open-source software

Benefits that are not immediate and compulsive features of free and open-source software, but are present in it or promoted by it and absent in many, most or all available proprietary software solutions comprise

Free and open-source software – Advantages and benefits of free and open-source software

the respect of the user’s privacy

Free and open-source software – Advantages and benefits of free and open-source software

and the adherence of the proprietor’s or proprietress’ full control over his or her own hardware

Free and open-source software – Advantages and benefits of free and open-source software

Free and open-source software in its initial state be hard to cumbersome, i.e

Free and open-source software – Advantages and benefits of free and open-source software

The LAMP stack may be one of the reasons for the very high Linux adoption rate among web servers.

Free and open-source software – Game theory and free and open-source software

Any computer software can be described as the executable implementation of a set of ideas and some software architecture designing the overall working mechanism and the implemented interfaces. Technically it is possible to distinguish between the source code files written by the authors in some programming language and the compiled binary files in machine code (“written” by the compiler).

Free and open-source software – Game theory and free and open-source software

In most countries any source code written that meets certain qualifications (e.g

Free and open-source software – Game theory and free and open-source software

The authors can choose to keep their work for themselves and not distribute it to others

Free and open-source software – Game theory and free and open-source software

However the users, being juristic person or natural persons, are distinguishable from one another, and such a distinction is made by the copyright law

Free and open-source software – Game theory and free and open-source software

Thus distributing a software, means making that software available to a specific audience. Free and open-source licenses are all about distribution. The rights granted by the authors to the intended receptors effect the rights granted by the copyright, that are the rights to employ and redistribute, to modify and to redistribute the modifications of a software.

Free and open-source software – Game theory and free and open-source software

Even if the law forbids the use and the alteration of a software per se, it is hard to enforce that law, as long as that software is not redistributed. Only then could such behavior would be noticeable, e.g. by denunciation.

Free and open-source software – Game theory and free and open-source software

So the copyright (of the source code and the compiled work) allows for two generally distinguishable use cases:

Free and open-source software – Game theory and free and open-source software

The author or the holder of the copyright, can sell licenses to use a software, that is, grant the rights to use a software, as made possible by the law of a state, under a contract called End-user license agreement (EULA) (also called software license agreement (SLA)). It is also common, that the vendor obliges himself to offer a certain range of support for that software, that go beyond the warranty, and additional support can be purchased separately.

Free and open-source software – Game theory and free and open-source software

Which licenses or kind of license falls under whose definition, can be read about in the articles free software and open-source software

Free and open-source software – Game theory and free and open-source software

Linux distributions are a form of software distribution made possible by the general availability of software published under a free license

Free and open-source software – Game theory and free and open-source software

Now obviously any user who is satisfied with the binary form of the software, will not care for all additional possibilities the free and open-source model offers.

Free and open-source software – Public institutions

There is an incremental reclamation of free and open-source software by public institutions such as government agencies, military, police, public hospital and other. It is especially present in al institutions.

Free and open-source software – Education

Due to its nature free and open-source software has a very wide use in the broad field of education. It is present in formal education from preschool education to adult education and very predominant in the field of autodidacticism.

Free and open-source software – History

History of free and open-source software

Free and open-source software – History

Open-source_software#History

Free and open-source software – History

Philosophies and events around free and open-source software have a long history.

Free and open-source software – Definition and naming

There a a couple of terms regarding to free and open-source software.

Free and open-source software – Adoption of free and open-source software

Free and open-source software is very ubiquitous. There has been a wide range of adoption due to various reasons.

Free and open-source graphics device driver – Viewed from the free and open-source software developer’s perspective

There are a number of objections to binary-only drivers

Free and open-source graphics device driver – Viewed from the free and open-source software developer’s perspective

In the Linux kernel development community, Linus Torvalds has made strong statements on the issue of binary-only modules, asserting: “I refuse to even consider tying my hands over some binary-only module”, and continuing: “I want people to know that when they use binary-only modules, it’s THEIR problem”

Free and open-source graphics device driver – Viewed from the free and open-source software developer’s perspective

Writer and computer scientist Peter Gutmann has expressed concerns that the digital rights management scheme in Microsoft’s Windows Vista Operating System may limit the availability of the documentation required to write open drivers as it “requires that the operational details of the device be kept confidential.”

Free and open-source graphics device driver – Viewed from the free and open-source software developer’s perspective

In the case of binary drivers there are also objections due to free software philosophy, software quality and security concerns. There are also concerns that the redistribution of closed source Linux kernel modules may be illegal.

Free and open-source graphics device driver – Viewed from the free and open-source software developer’s perspective

By choice, the Linux kernel has no Binary Kernel Interface.

Comparison of free and open-source software licenses – General comparison

The following table compares various features of each license and is a general guide to the terms and conditions of each license.

Comparison of free and open-source software licenses – General comparison

Note that a “yes” in either of the last two columns (Link with code using a different license and Release changes under a different license) is not an absolute answer, there may still be restrictions in the license related to this action. You should review the specific license terms and refer to the reference table for more details regarding a “yes” in these columns.

Comparison of free and open-source software licenses – General comparison

License Author Latest version Publication date Link with code using a different license Release changes under a different license

Comparison of free and open-source software licenses – General comparison

Affero GPL Free Software Foundation 3 2007 only AGPLv3 + GPLv3 No

Comparison of free and open-source software licenses – General comparison

Apache License Apache Software Foundation 2.0 2004 Yes Yes

Comparison of free and open-source software licenses – General comparison

Apple Public Source License Apple Computer 2.0 August 6, 2003 Yes No

Comparison of free and open-source software licenses – General comparison

Berkeley Database License Oracle Corporation ? February 7, 2008 No No

Comparison of free and open-source software licenses – General comparison

BSD license Regents of the University of California ? ? Yes Yes

Comparison of free and open-source software licenses – General comparison

Boost Software License ? 1.0 August 17, 2003 Yes Yes

Comparison of free and open-source software licenses – General comparison

Common Development and Distribution License Sun Microsystems 1.0 December 1, 2004 Yes Yes

Comparison of free and open-source software licenses – General comparison

Common Public License IBM 1.0 May 2001 Yes No

Comparison of free and open-source software licenses – General comparison

Cryptix General License Cryptix Foundation ? 1995 Yes Yes

Comparison of free and open-source software licenses – General comparison

Eclipse Public License Eclipse Foundation 1.0 February 2004 Yes No

Comparison of free and open-source software licenses – General comparison

Educational Community License ? 1.0 ? Yes Yes

Comparison of free and open-source software licenses – General comparison

EUPL European Commission 1.1 January 2009 Yes With an explicit compatibility list

Comparison of free and open-source software licenses – General comparison

GNU General Public License Free Software Foundation 3.0 June 2007 No No

Comparison of free and open-source software licenses – General comparison

GNU Lesser General Public License Free Software Foundation 3.0 June 2007 Yes No

Comparison of free and open-source software licenses – General comparison

Hacktivismo Enhanced-Source Software License Agreement Hacktivismo/Cult of the Dead Cow ? November 26, 2002 ? ?

Comparison of free and open-source software licenses – General comparison

Intel Open Source License Intel Corporation ? ? Yes Yes

Comparison of free and open-source software licenses – General comparison

LaTeX Project Public License LaTeX project 1.3c ? Yes Yes

Comparison of free and open-source software licenses – General comparison

Mozilla Public License Mozilla Foundation 2.0 January 3, 2012 Yes Limited

Comparison of free and open-source software licenses – General comparison

OPaC Free Public License OPaC bright ideas ? 1998 No No

Comparison of free and open-source software licenses – General comparison

Python Software Foundation License Python Software Foundation 2 ? Yes Yes

Comparison of free and open-source software licenses – General comparison

Sun Industry Standards Source License Sun Microsystems ? ? Yes No

Comparison of free and open-source software licenses – General comparison

Sybase Open Watcom Public License ? ? ? Yes No

Comparison of free and open-source software licenses – General comparison

XCore Open Source License XMOS ? February 2011 Yes Yes

Comparison of free and open-source software licenses – General comparison

Zope Public License Zope Foundation 2.1 ? Yes Yes

Comparison of free and open-source software licenses – Approvals

This table lists for each license what organizations from the free software community have approved it – be it as a “free software” or as an “open source” license – and how those organizations categorize it. Organizations usually approve specific versions of software licenses.

Comparison of free and open-source software licenses – Approvals

Apple Public Source License version 1.x No No Yes No No No

Comparison of free and open-source software licenses – Approvals

Do What The Fuck You Want To Public License (WTFPL) Yes4 Yes No Yes Yes Yes

Comparison of free and open-source software licenses – Approvals

Mozilla Public License version 1.1 Yes No Yes No Yes Yes

Comparison of free and open-source software licenses – Approvals

Mozilla Public License version 2.0 Yes unless marked “Incompatible with Secondary Licenses” Yes Yes No Yes Yes

Comparison of free and open-source software licenses – Approvals

Netscape Public License Yes No No ? ? Yes

Comparison of free and open-source software licenses – Approvals

PHP License Yes No Yes No Yes v3.0/3.01 only, others are unknown

Comparison of free and open-source software licenses – Approvals

Python Software Foundation License 2.0.1; 2.1.1 and newer Yes Yes Yes No Yes Yes

Comparison of free and open-source software licenses – Approvals

Reciprocal Public License 1.5 No No Yes ? ? No

Comparison of free and open-source software licenses – Notes

^2 Compatible with version 3 of the GPL but not version 2.

Comparison of free and open-source software licenses – Notes

^3 The original version of the Artistic License is defined as non-free because it is overly vague, not because of the substance of the license. The FSF encourages projects to use the Clarified Artistic License instead.

Comparison of open-source software hosting facilities – General information

Name Manager Established Notes Countries blocked Runs on all free software Ad-free

Comparison of open-source software hosting facilities – General information

Assembla Assembla, Inc 2005 Free private project plan subscriptions for 3 user, 500 MB of storage, 1 projects and 1 repository. Free public projects with 2 GB of storage. Commercial projects with customizable sets of tools and . No Yes

Comparison of open-source software hosting facilities – General information

Bitbucket Atlassian 2008 Free private repositories are limited to 5 users No Yes

Comparison of open-source software hosting facilities – General information

CloudForge Collabnet 2000 Unlimited Free private repositories and unlimited users 2GB free No Yes

Comparison of open-source software hosting facilities – General information

Freepository 1999 Free accounts have web access only. Yes Yes

Comparison of open-source software hosting facilities – General information

GitHub GitHub, Inc 2008-04 Free for open source, paid for private. No Yes

Comparison of open-source software hosting facilities – General information

GitLab GitLab.com 2011-09 No cost for up to 10,000 projects; enterprise support for $149/month Yes Yes

Comparison of open-source software hosting facilities – General information

Gitorious Powow AS 2008-01 Free for open-source projects. Yes Yes

Comparison of open-source software hosting facilities – General information

Gna! The Gna! people 2004-01 (January 2004) Only for projects with a GPL compatible license Yes Yes

Comparison of open-source software hosting facilities – General information

GNU Savannah Savannah Administration 2001-01 (January 2001) Project by the Free Software Foundation. Yes Yes

Comparison of open-source software hosting facilities – General information

Google Code Google 2006-07-27 (27 July 2006) Free. For open-source projects only. Cuba, Iran, North Korea, Sudan, Syria No Yes

Comparison of open-source software hosting facilities – General information

JavaForge Intland Software 2005 Free. For open-source projects only. No Yes

Comparison of open-source software hosting facilities – General information

Launchpad Canonical Ltd. 2004 Yes Yes

Comparison of open-source software hosting facilities – General information

OW2 Consortium OW2 Consortium oriented on middleware technology. ? Yes

Comparison of open-source software hosting facilities – General information

SourceForge Dice Holdings 1999-11 (November 1999) Free. For open-source projects only. Cuba, Iran, North Korea, Sudan, Syria Yes No

Comparison of open-source software hosting facilities – General information

Tigris.org (community) 2000 Restricted to collaborative software development tools. ? No

Comparison of open-source software hosting facilities – Features

Name Code review Bug tracking Web hosting Wiki Translation system Shell server Mailing List Forum Personal branch Private branch Announce Build system Team Release Binaries

Comparison of open-source software hosting facilities – Features

GitHub Yes Yes Yes Yes No No No No Yes Yes[n 3] Yes 3rd-party (e.g. Travis CI) Yes Yes

Comparison of open-source software hosting facilities – Other features

Alioth: Sample Code, Help Wanted, Anonymous FTP

Comparison of open-source software hosting facilities – Other features

Assembla: Ticket backlog planning, Ticket flow control (Cardwall), Ticket tags that allow a better tasks organization, FTP, Time Tracking, StandUp Reporting, File Sharing, Google Docs Integration, API, Scripts Execution through SSH (i.e

Comparison of open-source software hosting facilities – Other features

Bitbucket: OpenID, visualizations

Comparison of open-source software hosting facilities – Other features

GitHub: Public API, static web-page hosting, pastebin service Gist, 3D model support

Comparison of open-source software hosting facilities – Other features

JavaForge: Public remote API, Document management

Comparison of open-source software hosting facilities – Other features

Launchpad: Blueprints, Karma, Answer, Mail interface, public API, OpenID Provider, Non-project branch

Comparison of open-source software hosting facilities – Other features

openSUSE Build Service: public API

Comparison of open-source software hosting facilities – Other features

SourceForge: Help Wanted, OpenID Relying Party

Comparison of open-source software hosting facilities – Other features

tigris.org: public API, extensive help

Comparison of open-source software hosting facilities – Available version control systems

Name CVS SVN GNU Bazaar Microsoft TFS Arch Git Mercurial Perforce

Comparison of open-source software hosting facilities – Available version control systems

Launchpad Import only Import only Yes No No Import only Import only ?

Comparison of open-source software hosting facilities – Popularity

Name Users Projects Prominent projects Alexa rank (lower = more popular)

Comparison of open-source software hosting facilities – Popularity

Alioth 13,525[dated info] 988[dated info] SANE N/A (subdomain not tracked)

Comparison of open-source software hosting facilities – Popularity

Assembla 800,000+ 60,000+ GXUnit, Hikarunix, HippoMocks, MadSwatter, SnakeYAML, Scala IDE 8,832

Comparison of open-source software hosting facilities – Popularity

BerliOS 52,811 4,863 aMule, avidemux, SuperTux, LinCity-NG 32,079

Comparison of open-source software hosting facilities – Popularity

GitHub 4,100,000 ? Ruby on Rails, IronRuby, jQuery, Moodle, Diaspora, node.js, NumPy, Spring Framework, PHP, Play Framework, Scala, SciPy 261

Comparison of open-source software hosting facilities – Popularity

GNU Savannah 57,591 3,487 Most GNU projects (including Emacs), QEMU 58,704 (approximation)

Comparison of open-source software hosting facilities – Popularity

Google Code ?[n 10] 250,000+ Inferno, Android, Chromium N/A (subdomain not tracked)

Comparison of open-source software hosting facilities – Popularity

Launchpad 2,145,028 32,699 Ubuntu, MySQL (code hosting), BlueBream (Zope 3) (bug tracking), Inkscape, Bazaar, GNOME Do, Drizzle, Launchpad, Enlightenment, LiVES (translations) 8,320

Comparison of open-source software hosting facilities – Popularity

SourceForge 3,400,000+ 324,000 Inkscape (download hosting), LAME, MinGW, Poedit, 7-Zip, Fluxbox, Audacity, ffdshow, EMule, FileZilla, phpMyAdmin, LiVES 189

Comparison of open-source software hosting facilities – Popularity

Tigris.org ?[n 10] 684 Subversion,[n 11] TortoiseSVN, RapidSVN 26,077

Comparison of open-source software hosting facilities – Popularity

Note 1: GitHub Blog: Those are some big numbers. The number of non-forks and forks were taken from searches done in a logged out session, so only public repositories are included. The last public gist number is a good estimate of total gists, since all gists, public or private, are numbered sequentially.

Comparison of open-source software hosting facilities – Specialized hosting facilities

The following are open-source software hosting facilities that only serve a specific narrowly-focused community or technology.

Comparison of open-source software hosting facilities – Specialized hosting facilities

freedesktop.org Yes No No No Yes Only for interoperability and shared base technology for free software desktop environments on Linux and other Unix-like Operating Systems, including the X Window System (X11) and cairo (graphics).

Long-term support – Open-source software with long-term support

Scientific Linux Linux distribution 10 April 2004 3 years (approx.) All Scientific Linux releases have LTS. Scientific Linux is a derivative of Red Hat Enterprise Linux. It is a joint project of two particle physics laboratories: Fermilab and CERN.

Long-term support – Open-source software with long-term support

(v6.06 LTS) either 2, 3, or 5 years The release life cycle for non-LTS versions of Ubuntu is six months.1 Canonical Ltd. decided to add LTS releases of their Linux distributions after introducing Ubuntu Server.

Long-term support – Open-source software with long-term support

A new LTS version is released every 2 years. In previous releases, a Long Term Support (LTS) version had 3 years support on Ubuntu (Desktop) and 5 years on Ubuntu Server. Starting with Ubuntu 12.04 LTS, both versions will receive 5 years support.

Long-term support – Open-source software with long-term support

Linux Mint Linux distribution 8 June 2008 5 years There are two short-term Linux Mint releases per year.

Long-term support – Open-source software with long-term support

(v1.5) 2 years, 3 months Joomla! with short-term support is maintained for seven months. Since Joomla! is a web application, long-term support also implies support for legacy web browsers.

Long-term support – Open-source software with long-term support

(v2.6.27) 2–3 years Two days after the gold master release of Linux kernel v2.6.27, Adrian Bunk volunteered to continue supporting it in LTS fashion, albeit for an uncertain amount of time. Bunk was the maintainer of Linux kernel v2.6.16, the previous “stable” (gold master) release. In 2011, a working group in the Linux Foundation started the Long Term Support Initiative, which standardized the LTS period.

Long-term support – Open-source software with long-term support

(v5.1 LTS) 3+2 years eZ Publish 5 is a Content Management Framework powered by Symfony2 for the web and beyond.

Long-term support – Open-source software with long-term support

Eclipse IDE ? Varies At the Eclipse Foundation, a working group defines the goals and prerequisites of long-term support for Eclipse software.

Long-term support – Open-source software with long-term support

1.^ The support period for Ubuntu’s parent distribution, Debian, is one year, with a point release every two months.

History of free and open-source software

History of free and open-source software

History of free and open-source software

The free software movement was launched in 1983, but there existed earlier projects which fit (or almost fit) the modern definition of free software, that is, software which all users are free to use, study, modify and redistribute (“free as in freedom”). Earlier projects provided these freedoms either for practical reasons or social reasons but were not part of an organised movement to spread the practice or the philosophy.

History of free and open-source software

The movement was launched by Richard Stallman as a reaction to the growing trend of developers blocking these freedoms by only publishing the runnable version of the software and not the modifiable source code.

History of free and open-source software

Stallman argues that this is a social imperative for all distributed software, rather than a technical choice which just happens to have a practical value in some contexts. In 1998, people who advocated free software but disagreed that it was a social imperative began using the term “open-source software” for the software and presenting it as having technical advantages.

History of free and open-source software – Sharing techniques before software

The concept of free sharing of technological information existed long before computers. For example, cooking recipes have been shared and remixed since the beginning of human culture.

History of free and open-source software – Sharing techniques before software

In the early years of automobile development, a group of capital monopolists owned the rights to a 2-cycle gasoline engine patent originally filed by George B

History of free and open-source software – Free software before the 1980s

Software communities that can now be compared with today’s free-software community existed for a long time before the free-software movement and the term “free software”

History of free and open-source software – Free software before the 1980s

The A-2 system, developed at the UNIVAC division of Remington Rand in 1953, was released to customers with its source code. They were invited to send their improvements back to UNIVAC. Thus it is believed that A-2 was the first example of free and open-source software.

History of free and open-source software – Free software before the 1980s

An IBM mainframe Operating System, Airline Control Program (ACP), from 1967 was also distributed with source code included. User groups such as that of the IBM 701, called SHARE, and that of Digital Equipment Corporation (DEC), called DECUS were formed to facilitate the exchange of software.

History of free and open-source software – Free software before the 1980s

Thus in this era, software was free, not because of any concerted effort by software users or developers, but rather because of necessity and a differing academic culture, as well as compatibility and porting requirements

History of free and open-source software – Free software before the 1980s

The implementations of Tiny Basic published in Dr. Dobb’s Journal in 1975 and onwards were an another example of software being released as free software and being developed collaboratively without any organised push.

History of free and open-source software – Free software before the 1980s

Very similar to open standards, researchers with access to Advanced Research Projects Agency Network (ARPANET) used a process called Request for Comments to develop telecommunication network protocols. This collaborative process of the 1960s led to the birth of the Internet in 1969.

History of free and open-source software – Free software before the 1980s

Some free software which was developed in the 1970s continues to be developed and used, such as TeX (developed by Donald Knuth) and SPICE.

History of free and open-source software – Initial decline of free software

By the late 1960s change was coming: as operating systems and programming language compilers evolved, software production costs were dramatically increasing

History of free and open-source software – Initial decline of free software

In the early 1970s AT&T distributed early versions of UNIX at no cost to government and academic researchers, but these versions did not come with permission to redistribute or to distribute modified versions, and were thus not free software in the modern meaning of the phrase

History of free and open-source software – Initial decline of free software

In the late 1970s and early 1980s, computer vendors and software-only companies began routinely charging for software licences, marketing it as “Program Products” and imposing legal restrictions on new software developments, now seen as assets, through copyrights, trademarks, and leasing contracts

History of free and open-source software – Informal software sharing continues

However, there were still those who wished to share their source code with other programmers and/or with users on a free basis. Prior to the introduction and widespread public use of the internet, there were a number of alternative ways available to do this, including listings in computer magazines and in computer programming books.

History of free and open-source software – DECUS tapes

In the early 1980s, the so-called DECUS tapes were a unique way of worldwide transmission of free software

History of free and open-source software – Online software sharing communities in the 1980s

In the 80s, parallel to the free software movement, software with source code was shared on BBS networks. This was sometimes a necessity; software written in BASIC and other interpreted languages could only be distributed as source code, and much of it was freeware. When people began gathering such source code, and setting up boards specifically to discuss its modification, this was a de facto open source system.

History of free and open-source software – Online software sharing communities in the 1980s

One of the most obvious examples of this is one of the most-used BBS systems and networks, WWIV, developed initially in BASIC by Wayne Bell

History of free and open-source software – Online software sharing communities in the 1980s

Meanwhile, the advent of Usenet and UUCPNet in the early 1980s further connected the programming community and provided a simpler way for programmers to share their software and contribute to software others had written.

History of free and open-source software – Launch of the free software movement

In 1983, Richard Stallman published the GNU Manifesto and launched the GNU Project to write a complete operating system free from constraints on use of its source code

History of free and open-source software – Launch of the free software movement

In 1989, the first version of the GNU General Public License was published. A slightly updated version 2 was published in 1991. In 1989, some GNU developers formed the company Cygnus Solutions. The GNU project’s kernel, later called “GNU Hurd”, was continually delayed, but most other components were completed by 1991. Some of these, especially the GNU Compiler Collection, had become market leaders in their own right. The GNU Debugger and GNU Emacs were also notable successes.

History of free and open-source software – Linux (1991–)

The Linux kernel, started by Linus Torvalds, was released as freely modifiable source code in 1991. The licence wasn’t a free-software licence, but with version 0.12 in February 1992, Torvalds relicensed the project under the GNU General Public License. Much like Unix, Torvalds’ kernel attracted the attention of volunteer programmers.

History of free and open-source software – Linux (1991–)

Until this point, the GNU project’s lack of a kernel meant that no complete free-software Operating Systems existed. The development of Torvalds’ kernel closed that last gap. The combination of the almost-finished GNU Operating System and the Linux kernel made the first complete free-software Operating System.

History of free and open-source software – Linux (1991–)

Among Linux distributions, Debian GNU/Linux, begun by Ian Murdock in 1993, is noteworthy for being explicitly committed to the GNU and FSF principles of free software

History of free and open-source software – Linux (1991–)

Linux remains free software under the terms of the GNU GPL, and many businesses offer customized Linux-based products, or distributions, with commercial support. The naming remains controversial. Referring to the complete system as simply “Linux” is common usage. However, the Free Software Foundation, and many others, advocate the use of the term “GNU/Linux”, saying that it is a more accurate name for the whole Operating System.

History of free and open-source software – Linux (1991–)

Linux adoption grew among businesses and governments in the 1990s and 2000s. In the English-speaking world at least, Ubuntu and its derivatives became a relatively popular group of Linux distributions.

History of free and open-source software – The free BSDs (1993–)

When the USL v. BSDi lawsuit was settled out of court in 1993, FreeBSD and NetBSD (both derived from 386BSD) were released as free software. OpenBSD forked from NetBSD in 1995. Other more recent forks also exist, including DragonflyBSD.

History of free and open-source software – The free BSDs (1993–)

In the late 2000s, the vast majority of computers running a free BSD are those running Mac OS X (a proprietary operating system based on Darwin). The only major technology company using FreeBSD is Yahoo.

History of free and open-source software – The dot-com years (late 1990s)

In the mid to late 90s, when many website-based companies were starting up, free software became a popular choice for web servers. Apache HTTP Server became the most-used web-server software, a title that still holds as of 2012. Systems based on a common “stack” of software with the Linux kernel at the base, Apache providing web services, the MySQL database engine for data storage, and the PHP programming language for providing dynamic pages, came to be known as LAMP systems.

History of free and open-source software – The launch of Open Source

In 1997, Eric Raymond published The Cathedral and the Bazaar, a reflective analysis of the hacker community and free-software principles. The paper received significant attention in early 1998 and was one factor in motivating Netscape Communications Corporation to release their popular Netscape Communicator Internet suite as free software. This code is today the basis for Mozilla Firefox and Thunderbird.

History of free and open-source software – The launch of Open Source

Netscape’s act prompted Raymond and others to look into how to bring free-software principles and benefits to the commercial-software industry. They concluded that FSF’s social activism was not appealing to companies like Netscape, and looked for a way to rebrand the free-software movement to emphasize the business potential of the sharing of source code.

History of free and open-source software – The launch of Open Source

The label “open source” was adopted by some people in the free software movement at a strategy session held at Palo Alto, California, in reaction to Netscape’s January 1998 announcement of a source code release for Navigator

History of free and open-source software – The launch of Open Source

The term was given a big boost at an event organized in April 1998 by technology publisher Tim O’Reilly

History of free and open-source software – The launch of Open Source

However, Richard Stallman and the FSF harshly objected to the new organization’s approach. They felt that, with its narrow focus on source code, OSI was burying the philosophical and social values of free software and hiding the issue of computer users’ freedom. Stallman still maintained, however, that users of each term were allies in the fight against proprietary software.

History of free and open-source software – The launch of Open Source

In August 1999, Sun Microsystems released the StarOffice office suite as free software under the GNU Lesser General Public License. The free-software version was renamed OpenOffice.org, and coexisted with StarOffice.

History of free and open-source software – Desktop (1984-)

X, created in 1984, had become the de facto standard window system in desktop free software Operating Systems by the mid-1990s

History of free and open-source software – Desktop (1984-)

Early “desktop environments” for X were so lightweight and simple (see illustration), that they were not called desktop environments but rather simply window managers

History of free and open-source software – Desktop (1984-)

Two key “heavyweight” desktop environments for free software Operating Systems are KDE (which has since been split into KDE Plasma Workspaces, a desktop environment, and KDE Software Compilation, a much broader set of software that includes the desktop environment) and GNOME.

History of free and open-source software – Desktop (1984-)

KDE was founded in 1996 by Matthias Ettrich. At the time, he was troubled by the inconsistencies in the user interfaces of UNIX applications. He proposed a new desktop environment. He also wanted to make this desktop easy to use. His initial Usenet post spurred a lot of interest.

History of free and open-source software – Desktop (1984-)

Ettrich chose to use the Qt toolkit for the KDE project

History of free and open-source software – Desktop (1984-)

In November 1998, the Qt toolkit was licensed under the free/open-source Q Public License (QPL) but debate continued about compatibility with the GNU General Public License (GPL). In September 2000, Trolltech made the Unix version of the Qt libraries available under the GPL, in addition to the QPL, which has eliminated the concerns of the Free Software Foundation.

History of free and open-source software – Desktop (1984-)

Both KDE and GNOME now participate in freedesktop.org, an effort launched in 2000 to standardize Unix desktop interoperability, although there is still competition between them.

History of free and open-source software – Desktop (1984-)

In 2010, Canonical released the first version of Unity, a replacement for the previous default desktop environment for Ubuntu, GNOME. This change to a new, under-development desktop environment and user interface was initially somewhat controversial among Ubuntu users.

History of free and open-source software – Desktop (1984-)

Fedora did not adopt Unity, retaining its existing offering of a choice of GNOME, KDE and LXDE with GNOME being the default, and hence Red Hat Enterprise Linux (for which Fedora acts as the “initial testing ground”) did not adopt Unity either

History of free and open-source software – Microsoft, SCO and other attacks (1998–)

As free software became more popular, industry incumbents such as Microsoft started to see it as a serious threat. This was shown in a leaked 1998 document, confirmed by Microsoft as genuine, which came to be known as the first of the Halloween Documents.

History of free and open-source software – Microsoft, SCO and other attacks (1998–)

Microsoft once compared the GPL to “a cancer”, but has since stopped using this analogy. Indeed, Microsoft has long since softened its public stance towards open source in general, in recognition of the fact that open source is today an important part of the Microsoft Windows ecosystem. However, at the same time, behind the scenes, Microsoft’s actions have not been as favourable towards the open source community.

History of free and open-source software – Microsoft’s contributions to open source

In 2006 Microsoft launched its CodePlex open source code hosting site, to provide hosting for open source developers targeting Microsoft platforms

History of free and open-source software – Microsoft’s contributions to open source

Microsoft representatives have made regular appearances at various open source and Linux conferences for many years.

History of free and open-source software – Microsoft’s contributions to open source

Recently Microsoft has launched a subsidiary know as Microsoft Open Technologies Inc. with the aim of bridging the gap between proprietary Microsoft technologies and non-Microsoft technologies by engaging with open source standards.

History of free and open-source software – SCO v IBM and related bad publicity (2003–)

In 2003, a proprietary Unix vendor and former Linux distribution vendor called SCO alleged that Unix intellectual property had been inappropriately copied into the Linux kernel, and sued IBM, claiming that it bore responsibility for this

History of free and open-source software – SCO v IBM and related bad publicity (2003–)

Over the course of the SCO v IBM case, which as of January 2012 is still technically ongoing, it emerged that not only had SCO itself been distributing the Linux kernel for years under the GPL, and continued to do so (thus rendering any claims hard to sustain legally), but that SCO did not even own the copyrights to much of the Unix code that it asserted copyright over, and had no right to sue over them on behalf of the presumed owner, Novell.

History of free and open-source software – SCO v IBM and related bad publicity (2003–)

This was despite the fact that SCO’s CEO, Darl McBride, had made numerous wild and damaging claims of inappropriate appropriation to the media, many of which were later shown to be false, or legally irrelevant even if true.

History of free and open-source software – SCO v IBM and related bad publicity (2003–)

The blog Groklaw was one of the most forensic examiners of SCO’s claims and related events, and gained its popularity from covering this material for many years.

History of free and open-source software – SCO v IBM and related bad publicity (2003–)

SCO suffered defeat after defeat in SCO v IBM and its various other court cases, and filed for Chapter 11 bankruptcy in 2007

History of free and open-source software – SCO v IBM and related bad publicity (2003–)

In 2004, the Alexis de Tocqueville Institution announced its intention to publish a book, Samizdat, “showing” that the Linux kernel was based on code stolen from Unix, in essence using the argument that was impossible to believe that Linus Torvalds could produce something as sophisticated as the Linux kernel

History of free and open-source software – SCO v IBM and related bad publicity (2003–)

Many suspected that some or all of these legal and FUD attacks against the Linux kernel were covertly arranged by Microsoft, although this has never been proven. Both ADTI and SCO, however, received funding from Microsoft.

History of free and open-source software – European Commission v Microsoft (2004–2007)

European Union Microsoft competition case

History of free and open-source software – European Commission v Microsoft (2004–2007)

In 2004 the European Commission found Microsoft guilty of anti-competitive behaviour with respect to interoperability in the workgroup software market. Microsoft had previously settled United States v. Microsoft in 2001, in a case which charged that it illegally abused its monopoly power to force computer manufacturers to preinstall Internet Explorer.

History of free and open-source software – European Commission v Microsoft (2004–2007)

The Commission demanded that Microsoft produce full documentation of its workgroup protocols to allow competitors to interoperate with its workgroup software, and imposed fines of 1.5 million euros per day for Microsoft’s failure to comply. The Commission had jurisdiction because Microsoft sells the software in question in Europe.

History of free and open-source software – European Commission v Microsoft (2004–2007)

Microsoft, after a failed attempt to appeal the decision through the European court system, eventually complied with the demand, producing volumes of detailed documentation.

History of free and open-source software – European Commission v Microsoft (2004–2007)

The Samba project, as Microsoft’s sole remaining competitor in the workgroup software market, was the key beneficiary of this documentation.

History of free and open-source software – ISO OOXML controversy (2008–)

In 2008 the International Organisation for Standardisation published Microsoft’s Office Open XML as an international standard, which crucially meant that it, and therefore Microsoft Office, could be used in projects where the use of open standards were mandated by law or by policy

History of free and open-source software – ISO OOXML controversy (2008–)

As of 2012, no fully correct open source implementation of OOXML exists, which validates the critics’ remarks about OOXML being difficult to implement and underspecified. Presently, Google can not yet convert Office documents into its own proprietary Google Docs format correctly. This suggests that OOXML is not a true open standard, but rather a partial document describing what Microsoft Office does, and only in relation to certain file formats.

History of free and open-source software – Open source and programming languages

The vast majority of programming languages in use today have a free software implementation available.

History of free and open-source software – Open source and programming languages

Since the 1990s, the release of major new programming languages in the form of open source compilers and/or interpreters has been the norm, rather than the exception

History of free and open-source software – Java

Since its first public release in 1996, the Java platform had not been open source, although the Java source code portion of the Java runtime was included in Java Development Kits, on a purportedly “confidential” basis, despite the fact that it was freely downloadable by the general public in most countries

History of free and open-source software – Java

However, several independent partial reimplementations of the Java platform had been created, many of them by the open source community, such as the GNU Compiler for Java

History of free and open-source software – Java

In 2006 Jonathan I

History of free and open-source software – Distributed version control (2001-)

The first open source distributed revision control system was tla in 2001 (since renamed to GNU arch); however, it and its successors baz and bzr (Bazaar) never became very popular, and GNU arch was discontinued, although Bazaar still continues and is used by Canonical.

History of free and open-source software – Distributed version control (2001-)

However, other DVCS projects sprung up, and some started to get significant adoption.

History of free and open-source software – Git (2005-)

The pivotal moment, however, was the creation of git, which has since become the most popular DVCS

History of free and open-source software – Git (2005-)

As a result of the removal of the Bitkeeper license, Linus Torvalds immediately decided to write his own DVCS, called git, because he thought none of the existing open source DVCSs were suitable for his particular needs as a kernel maintainer (which was why he had adopted BitKeeper in the first place)

History of free and open-source software – Git (2005-)

The increasing popularity of open source DVCSs such as git, and then, later, DVCS hosting sites, the most popular of which is GitHub (founded 2008), incrementally reduced the barriers to participation in free software projects still further

History of free and open-source software – Git (2005-)

GitHub even has a feature to streamline quick editing of single files, which (since 2011) automatically forks a copy of the repository if the user does not have permissions to edit it directly, and then issues a pull request afterwards if the user wishes. This allows “safe” changes such as string and documentation corrections to be made and then pull requests to be issued entirely from within the web browser, and makes the experience somewhat like using a wiki.

History of free and open-source software – Recent developments

While copyright is the primary legal mechanism that FOSS authors use to ensure license compliance for their software, other mechanisms such as legislation, patents, and trademarks have implications as well. In response to legal issues with patents and the DMCA, the Free Software Foundation released version 3 of its GNU Public License in 2007 that explicitly addressed the DMCA’s DRM provisions and patent rights.

History of free and open-source software – Recent developments

After the development of the GNU GPLv3, as copyright holder of many pieces of the GNU system, such as the GCC compiler software, the FSF updated most of the GNU programs’ licenses from GPLv2 to GPLv3

History of free and open-source software – Recent developments

Recent mergers have affected major open-source software. Sun Microsystems (Sun) acquired MySQL AB, owner of the popular open-source MySQL database, in 2008.

History of free and open-source software – Recent developments

Oracle in turn purchased Sun in January, 2010, acquiring their copyrights, patents, and trademarks

History of free and open-source software – Android (2008-)

In September 2008, Google released the first version of Android, a new smartphone Operating System, as open source (note that certain Google applications that are sometimes but not always bundled with Android are not open source)

History of free and open-source software – Android (2008-)

Because Android is based on the Linux kernel, this means that Linux is now the dominant kernel on both mobile platforms (due to Android) and on supercomputers, and a key player in server Operating Systems too.

History of free and open-source software – Android (2008-)

In August 2010, Oracle sued Google claiming that its use of Java in Android infringed on Oracle’s copyrights and patents

History of free and open-source software – Chrome OS (2009-)

Until recently, Linux was still a relatively uncommon choice of Operating System for desktops and laptops. However, Google’s Chromebooks, running the open source Chrome OS which is based on Linux and is essentially a web thin client, have captured 20-25% of the market in sub-$300 US laptops.

Qualcomm Atheros – Free and open-source software support

Comparison of open-source wireless drivers

Qualcomm Atheros – Free and open-source software support

In the free software movement, Atheros had been known for not releasing the appropriate documentation that would allow developers to write free and open-source device drivers to support Atheros wireless devices without resorting to reverse-engineering

Qualcomm Atheros – Free and open-source software support

Atheros was featured in OpenBSD’s songs that relate to the ongoing efforts of freeing non-free devices.

Qualcomm Atheros – Free and open-source software support

In July 2008, Atheros changed its policy and hired two Linux wireless developers, Jouni Malinen (developer of HostAP) and Luis Rodriguez, and released an open-source Linux driver for their 802.11n devices

Qualcomm Atheros – Free and open-source software support

As can be seen in the article Comparison of open-source wireless drivers, there are completely Free and open-source software drivers available for all Qualcomm Atheros IEEE 802.11 chipsets.

Nvidia – Free and open-source software support

Until 23 September 2013 NVIDIA has not published any documentation for its hardware, meaning that programmers could not write appropriate and effective free and open-source device driver for Nvidia’s products without resorting to (clean room) reverse engineering.

Nvidia – Free and open-source software support

Instead, Nvidia provides its own binary GeForce graphics drivers for X.Org and a thin open-source library that interfaces with the Linux, FreeBSD or Solaris kernels and the proprietary graphics software. Nvidia also provided but stopped supporting an obfuscated open-source driver that only supports two-dimensional hardware acceleration and ships with the X.Org distribution.

Nvidia – Free and open-source software support

The proprietary nature of Nvidia’s drivers has generated dissatisfaction within free-software communities. Some Linux and BSD users insist on using only open-source drivers, and regard Nvidia’s insistence on providing nothing more than a binary-only driver as wholly inadequate, given that competing manufacturers (like Intel) offer support and documentation for open-source developers, and that others (like AMD) release partial documentation and provide some active development.

Nvidia – Free and open-source software support

Because of the closed nature of the drivers, Nvidia video cards cannot deliver adequate features on some platforms and architectures given that Nvidia only provides x86/x64 driver builds. As a result, support for 3D graphics acceleration in Linux on PowerPC does not exist, nor does support for Linux on the hypervisor-restricted PlayStation 3 console.

Nvidia – Free and open-source software support

Some users claim that Nvidia’s Linux drivers impose artificial restrictions, like limiting the number of monitors that can be used at the same time, but the company has not commented on these accusations.

Software license – Free and open-source software licenses

Free and open-source licenses generally fall under two categories: Those with the aim to have minimal requirements about how the software can be redistributed (permissive licenses), and those that aim to preserve the freedoms that are given to the users by ensuring that all subsequent users receives those rights (copyleft Licenses).

Software license – Free and open-source software licenses

An example of a copyleft free software license is the GNU General Public License (GPL)

Software license – Free and open-source software licenses

Examples of permissive free software licenses are the BSD license and the MIT license, which give unlimited permission to use, study, and privately modify the software, and includes only minimal requirements on redistribution. This gives a user the permission to take the code and use it as part of closed-source software or software released under a proprietary software license.

Software license – Free and open-source software licenses

Free Software Foundation, the group that maintains The Free Software Definition, maintains a non-exhaustive list of free software licenses. The list distinguishes between free software licenses that are compatible or incompatible with the FSF license of choice, the GNU General Public License, which is a copyleft license. The list also contains licenses which the FSF considers non-free for various reasons, but which are sometimes mistaken as being free.

GSM – GSM open-source software

Several open source|open-source software projects exist that provide certain GSM features:

GSM – GSM open-source software

*The GSM Software Project aims to build a GSM analyzer for less than $1,000

Free and open source – Advantages and benefits of free and open-source software

* be adapted to the underlying hardware solution

Free and open source – Advantages and benefits of free and open-source software

* be customized to meet job specification as exactly as possible

Free and open source – Advantages and benefits of free and open-source software

* by the user, being an individual, a company or a public institution, or by some contractor(s) without the slightest vendor lock-in

Free and open source – Advantages and benefits of free and open-source software

* usually there is an abundance of more or less experienced contractors available to accomplish the tasks above and also the system administration, maintenance and technical support

Free and open source – Advantages and benefits of free and open-source software

* the profile of the potential contractor starts at some student (or pupil), a freelancer, some Small and medium enterprises to huge corporations

Free and open source – Advantages and benefits of free and open-source software

* stability and security problems can be addressed and resolved in a direct manner by the user or all users using a community approach

Free and open source – Advantages and benefits of free and open-source software

* higher motivation to exchange testing results and user experiences between adopters directly or openly, especially if they are not competitors

Free and open source – Advantages and benefits of free and open-source software

* higher motivation to contribute back to the software by bug-reports, since there is no external profiteer, that could charge for the improvements and bug-fixes, because the code is simply available

Free and open source – Advantages and benefits of free and open-source software

* at will cooperation based on mutuality and reciprocity

Free and open source – Advantages and benefits of free and open-source software

* there is no contractual dependency on the vendor whatsoever; (please note that a lack of resources to work with the source code is not solvable by any license)

Free and open source – Advantages and benefits of free and open-source software

* very often free and open-source software is also free of cost, leaving maximum financial leverage to be put into the tailoring of the entire hard- and software solution (which can be outsourced to external contractors)

Free and open source – Advantages and benefits of free and open-source software

* very ubiquitous free and open-source software, depending on the adoption rate and the time scale, has been extensively security audited and tested on many hardware solutions and in various application scenarios; e.g. the Linux kernel is ubiquitously in use on servers, routers and mobile devices all over the world, hence field-tested and case-hardened for the exposure in the Internet.

Free and open source – Advantages and benefits of free and open-source software

* software is an intangible good|immaterial good ; when such a good is distributed under a free and open-source license, its monetary and non-monetary value to its users and to the economy the are part of can multiplies heavily

Free and open source – Advantages and benefits of free and open-source software

* the respect of the user’s privacy

Free and open source – Advantages and benefits of free and open-source software

* and the adherence of the proprietor’s or proprietress’ full control over his or her own hardware

Free and open source – Game theory and free and open-source software

Any computer software can be described as the executable implementation of a set of ideas and some software architecture designing the overall working mechanism and the implemented Interface (computing)|interfaces. Technically it is possible to distinguish between the source code files written by the authors in some programming language and the compiled binary files in machine code (written by the compiler).

Free and open source – Game theory and free and open-source software

Even if the law forbids the use and the alteration of a software per se (terminology)|per se, it is hard to enforce that law, as long as that software is not redistributed. Only then could such behavior would be noticeable, e.g. by denunciation.

Free and open source – Game theory and free and open-source software

* free and open-source software adoption

Open-source robotics – Open-source software

* LeJOS|NXJ An open-source Java (programming language)|Java programming environment for the Lego NXT robot kit ( lejos.sourceforge.net/)

Open-source robotics – Open-source software

* ROS (Robot Operating System) (open-source software running on the Willow Garage robot)

Open-source robotics – Open-source software

* URBI[ www.zdnet.com/blog/open-source/i-open-source-robot/7202 Gostai Urbi goes open source] (C++ distributed/embedded components framework + parallel/event-driven orchestration script language)

Open-source robotics – Open-source software

* [ rock-robotics.org/ Rock (the Robot Construction Kit)] (Software integration framework for robotic systems based on Orocos/RTT.)

Open-source robotics – Open-source software

* [ orca-robotics.sourceforge.net/ Orca] (robot framework)

Open-source robotics – Open-source software

* [ www.robots.ox.ac.uk/~pnewman/TheMOOS/index.html MOOS] (robot framework)

Open-source robotics – Open-source software

* [ robocomp.wiki.sourceforge.net RoboComp] (robot framework)

Open-source robotics – Open-source software

* Carmen Toolkit|CARMEN (robot simulator)

Open-source robotics – Open-source software

* TeamBots (robot simulator)

Open-source robotics – Open-source software

* Open Dynamics Engine (physics engine for modelling articulated rigid-body dynamics)

Open-source robotics – Open-source software

* Gazebo (multi-robot simulator)

Open-source robotics – Open-source software

* [ spykeewiki.sektor-9.com Home brew robot software running on the consumer robotic platform Spykee]

Open-source robotics – Open-source software

* [ www.repinvariant.com/products/ RI-JAUS SDK] A cross-platform, GPL-licensed C++ Software development kit|SDK implementing the JAUS protocol for robot control.

Open-source robotics – Open-source software

* [ ropros.org Open Platform for Robotic Services] Component based framework, GUI editors in Eclipse and a Simulator, OPRoS Components ropros.org

Open-source robotics – Open-source software

* miniBloq a graphical programming interface that allows to program robotic boards (Arduino Compatibles) without previous knowledge of programming minibloq.org

Open-source robotics – Open-source software

* [ artoo.io Artoo] a Ruby microframework for robotics and physical computing

Open source software – Widely used open-source software

Open source software projects are built and maintained by a network of volunteer programmers

Open-source software

Open-source software is the most prominent example of open-source development and often compared to (technically defined) user-generated content or (legally defined) open-content movements.

Open-source software – Proliferation of the term

While the term open source applied originally only to the source code of software, it is now being applied to many other areas such as Open source ecology, a movement to decentralize technologies so that any human can use them. However, it is often misapplied to other areas which have different and competing principles, which overlap only partially.

Open-source software – Considerations for software producers

Moreover, lower costs of marketing and logistical services are needed for OSS. OSS also helps companies keep abreast of technology developments. It is a good tool to promote a company’s image, including its commercial products. The OSS development approach has helped produce reliable, high quality software quickly and inexpensively.

Open-source software – Considerations for software producers

The term open source was originally intended to be trademarkable; however, the term was deemed too descriptive, so no trademark exists

Open-source software – Considerations for software producers

Moreover, free software can be developed in accord with purely technical requirements. It does not require thinking about commercial pressure that often degrades the quality of the software. Commercial pressures make traditional software developers pay more attention to customers’ requirements than to security requirements, since such features are somewhat invisible to the customer.

Open-source software – Considerations for software producers

Not all OSS initiatives have been successful, for example SourceXchange and Eazel

Open-source software – Current applications

quote box|width=25%|quote=’“We migrated key functions from Windows to Linux because we needed an operating system that was stable and reliable — one that would give us in-house control. So if we needed to patch, adjust, or adapt, we could.”’|source=Official statement of the United Space Alliance, which manages the computer systems for the International Space Station (ISS), regarding why they chose to switch from Windows to Debian Linux on the ISS

Open-source software – Non-software use

The principles of open source have been adapted for many forms of user-generated content and technology, including open-source hardware, Wikipedia, and open-access publishing.

Open-source software – Non-software use

Supporters of the open content movement advocate some restrictions of use, requirements to share changes, and attribution (copyright)|attribution to other authors of the work.

Open-source software – Non-software use

This culture or ideology takes the view that the principles apply more generally to facilitate concurrent input of different agendas, approaches and priorities, in contrast with more centralized models of development such as those typically used in commercial companies.Raymond, Eric S. The Cathedral and the Bazaar. ed 3.0. 2000.

Long-term support – Open-source software with long-term support

:1. The support period for Ubuntu’s parent distribution, Debian, is one year, with a point release every two months.

Gift economy – Free and open-source software

Raymond said that free and open-source software developers have created a ‘gift culture’ in which participants compete for prestige by giving time, energy, and creativity away.catb.org/esr/writings/homesteading/homesteading/ Prestige gained as a result of contributions to source code fosters a social network for the developer; the open-source community will recognize the developer’s accomplishments and intelligence

Gift economy – Free and open-source software

The IT research firm IDC valued the Linux kernel at $18 billion USD in 2007 and projected its value at $40 billion USD in 2010.www.cioupdate.com/news/article.php/3660141/IDC-Linux-Ecosystem-Worth-40-Billion-by-2010.htm The Debian Linux distribution|distribution of the GNU/Linux Operating System offers over 37,000 free open-source software packages via their AMD64 repositories alone.www.debian.org/doc/manuals/debian-reference/ch02.en.html

Atheros – Free and open-source software support

In the free software movement, Atheros had been known for not releasing the appropriate documentation that would allow developers to write free and open-source device drivers to support Atheros wireless devices without resorting to reverse-engineering.[http://www.theage.com.au/articles/2005/03/01/1109546842718.html OpenBSD to support more wireless chipsets] As a result, open-source support for Atheros hardware was limited

Atheros – Free and open-source software support

In July 2008, Atheros changed its policy and hired two Linux wireless developers, Jouni Malinen (developer of HostAP) and Luis Rodriguez, and released an open-source Linux driver for their 802.11n devices.[http://madwifi-project.org/wiki/news/20080725/ath9k-atheros-unveils-free-linux-driver-for Atheros unveils free Linux driver for its 802.11n devices] Atheros also released some source from their binary HAL under ISC license to help the community add support for their abg chips

Canonical Ltd. – Open-source software

* Ubuntu (operating system)|Ubuntu,UK registered trademark [http://www.ipo.gov.uk/tmcase/Results/4/EU004059119 #EU004059119] UBUNTU, filed 2004–09–29. a Debian-based Linux distribution with Unity (user interface)|Unity (it formerly used GNOME) desktop

Canonical Ltd. – Open-source software

* Bazaar (software)|Bazaar,UK registered trademark [http://www.ipo.gov.uk/tmcase/Results/4/EU005152467 #EU005152467] BAZAAR, filed 2006–06–21. a decentralized revision control system

Canonical Ltd. – Open-source software

* Storm (software)|Storm, an object-relational mapper for Python (programming language)|Python, part of the Launchpad codebase

Canonical Ltd. – Open-source software

* Upstart, an Event-based programming|event-based replacement for the init daemon

Canonical Ltd. – Open-source software

* Quickly (software)|Quickly,

Canonical Ltd. – Open-source software

* Launchpad (website)|LaunchpadUK registered trademark [http://www.ipo.gov.uk/tmcase/Results/4/EU006251219 #EU006251219] LAUNCHPAD, filed 2007–09–04. a centralised website containing several component web applications designed to make collaboration between free software projects easier:

Canonical Ltd. – Open-source software

** Personal Package Archive|PPA, a special software repository for uploading software packages to be built and published as an Advanced Packaging Tool|APT repository

Canonical Ltd. – Open-source software

** Blueprints, a tool for planning features of software

Canonical Ltd. – Open-source software

** Rosetta, an online language translation tool to help localisation of software (cf. the Rosetta Stone)

Canonical Ltd. – Open-source software

** Malone (as in Bugsy Malone), a collaborative bug-tracker that allows linking to other bug-trackers

Canonical Ltd. – Open-source software

** Soyuz, a tool for creating custom-distributions, such as Kubuntu and Xubuntu.

Comparison of open-source software hosting facilities

A ‘source code repository’ is a file archive and web hosting facility where large amounts of source code are kept, either publicly or privately. They are often used by open-source projects and other multi-developer projects to handle various versions. They help developers submit patches of code in an organized fashion. Often these web sites support version control, bug tracking, release management, mailing lists, and wiki-based documentation.

Comparison of open-source software hosting facilities

People who write software retain their copyright when their software is posted to any open-source software hosting facilities, including the non-gnu section of GNU Savannah — with the exception of contributors to FSF-copyrighted programs at GNU Savannah.

Comparison of open-source software hosting facilities

[http://www.gnu.org/licenses/gpl-faq.html#AssignCopyright]

Comparison of open-source software hosting facilities

[http://slashdotmedia.com/terms-of-use/ terms of use].

Comparison of open-source software hosting facilities

PLEASE NOTE THAT YOU RETAIN OWNERSHIP OF ANY COPYRIGHTS, … IN ANY CONTENT YOU SUBMIT.

Comparison of open-source software hosting facilities

[https://help.github.com/articles/github-terms-of-service Github terms of service].

Comparison of open-source software hosting facilities

says We claim no intellectual property rights over the material you provide to the Service.

Comparison of open-source software hosting facilities – Popularity

#fn 1 back|Note 1: [https://github.com/blog/841-those-are-some-big-numbers GitHub Blog: Those are some big numbers]. The number of non-forks and forks were taken from searches done in a logged out session, so only public repositories are included. The last public gist number is a good estimate of total gists, since all gists, public or private, are numbered sequentially.

List of free and open-source software packages

This is a list of ‘free and open source software|free and open source software package (installation)|software packages’: computer software licensed under free software licenses and open source licenses

List of free and open-source software packages – Artificial intelligence

** OpenCog A project that aims to build an artificial general intelligence (AGI) framework. OpenCog Prime is a specific set of interacting components designed to give rise to human-equivalent artificial general intelligence.

List of free and open-source software packages – Artificial intelligence

** AForge.NET Computer Vision, Artificial Intelligence and Robotics library for the .NET Framework

List of free and open-source software packages – Artificial intelligence

** OpenCV Computer Vision Library in C++

List of free and open-source software packages – Artificial intelligence

** See List of free and open source software packages#Data mining|Data Mining below

List of free and open-source software packages – Artificial intelligence

** See R (programming language)|R programming language—packages of statistical learning and analysis tools

List of free and open-source software packages – Computer simulation

* Blender (software)|Blender; 3D modeling software written in Python (programming language)|Python and C++ that can make animations and graphics for games

List of free and open-source software packages – Computer simulation

* SimPy; queue-theoretic event-based simulator written in Python (programming language)|Python

List of free and open-source software packages – Computer simulation

* flightgear is an open source flight simulator written for Windows, Mac OS X, and GNU/Linux.

List of free and open-source software packages – Finance

* Bitcoin — Peer to peer decentralised digital currency.

List of free and open-source software packages – Finance

* Bonita Open Solution — Business Process Management

List of free and open-source software packages – Finance

* Compiere — ERP solution automates accounting, supply chain, inventory and sales orders

List of free and open-source software packages – Finance

* Cyclos — Software for microfinance institutions, complementary currency systems and timebanks

List of free and open-source software packages – Finance

* Ebase — Constituent relationship management developed especially for non-profit organizations

List of free and open-source software packages – Finance

* Frontaccounting — web-based Double-entry book-keeping and ERP system

List of free and open-source software packages – Finance

* GnuCash — Double-entry book-keeping

List of free and open-source software packages – Finance

* JFire — an ERP Business Suite written with Java (programming language)|Java and Java Data Objects|JDO

List of free and open-source software packages – Finance

* JGnash — Java (programming language)|Java-based, double-entry book-keeping

List of free and open-source software packages – Finance

* JQuantLib — Java (programming language)|Java-based Quantitative Finance API framework for financial instrument valuation and more…

List of free and open-source software packages – Finance

* Mifos — Microfinance Institution management software

List of free and open-source software packages – Finance

* OrangeHRM — Commercial Human Resource Management

List of free and open-source software packages – Finance

* Postbooks — Integrated Accounting and ERP Business Suite

List of free and open-source software packages – Finance

* QuickFIX — FIX protocol engine written in C++ with additional C#, Ruby, and Python wrappers

List of free and open-source software packages – Finance

* QuickFIX/J — FIX protocol engine written in Java

List of free and open-source software packages – Finance

* SugarCRM — Commercial Customer Relationship Management

List of free and open-source software packages – Finance

* TurboCASH — Double-entry book-keeping for Windows

List of free and open-source software packages – Finance

* vtiger CRM — Customer Relationship Management(CRM) software with Sales force automation, marketing management,Customer Service/Support,Inventory Management

List of free and open-source software packages – Integrated Library System

* refbase — Web-based institutional repository and reference management software

List of free and open-source software packages – Image editor

*GIMP — GNU Image Manipulation Program

List of free and open-source software packages – Image editor

*Inkscape – An Open Source vector graphics editor.

List of free and open-source software packages – Bioinformatics

* See List of open source bioinformatics software.

List of free and open-source software packages – Grid Computing

* P-GRADE Portal — Grid portal software enabling the creation, execution and monitoring of workflows through high-level Web interfaces

List of free and open-source software packages – Molecule viewer

* MeshLab, able to import PDB dataset and build up surfaces from them

List of free and open-source software packages – Nanotechnology

*Ninithi — visualize and analyze the carbon allotropes such as Carbon nanotube, Fullerene, Graphene nanoribbons

List of free and open-source software packages – Speech (synthesis and recognition)

* CMU Sphinx — Speech recognition software from Carnegie Mellon University

List of free and open-source software packages – Speech (synthesis and recognition)

* Emacspeak — Audio desktop

List of free and open-source software packages – Speech (synthesis and recognition)

* ESpeak — compact software speech synthesizer for English and other languages

List of free and open-source software packages – Speech (synthesis and recognition)

* Modular Audio Recognition Framework — voice, audio, speech NLP processing

List of free and open-source software packages – Speech (synthesis and recognition)

* NonVisual Desktop Access — (NVDA) Screen reader for Windows

List of free and open-source software packages – Speech (synthesis and recognition)

* Text2Speech — Lightweight and easy to use Text To Speech (TTS) Software

List of free and open-source software packages – Other assistive technology

* Dasher (software)|Dasher — Unique text input software

List of free and open-source software packages – Other assistive technology

* Gnopernicus — AT suite for GNOME 2

List of free and open-source software packages – Other assistive technology

* Virtual Magnifying Glass — a multiplatform, screen magnification tool.

List of free and open-source software packages – Data mining

* Environment for DeveLoping KDD-Applications Supported by Index-Structures|Environment for DeveLoping KDD-Applications Supported by Index-Structures (ELKI) — data mining software framework written in Java with a focus on clustering and outlier detection methods.

List of free and open-source software packages – Data mining

* Orange (software) — data visualization and data mining for novice and experts, through visual programming or Python scripting. Extensions for bioinformatics and text mining.

List of free and open-source software packages – Data mining

* RapidMiner — data mining software written in Java, fully integrating Weka, featuring 350+ operators for preprocessing, machine learning, visualization, etc.

List of free and open-source software packages – Data mining

* Scriptella|Scriptella ETL — Extract transform load|ETL (Extract-Transform-Load) and script execution tool. Supports integration with J2EE and Spring. Provides connectors to CSV, LDAP, XML, JDBC/ODBC and other data sources.

List of free and open-source software packages – Data mining

* Weka (machine learning)|Weka — data mining software written in Java featuring machine learning operators for classification, regression, and clustering.

List of free and open-source software packages – Data Visualization Components

* ParaView plotting and visualization functions developed by Sandia National Laboratory, capable of massively parallel flow visualization utilizing multiple computer processors

List of free and open-source software packages – Data Visualization Components

* VTK is a toolkit for 3D computer graphics, image processing and visualization.

List of free and open-source software packages – Digital Asset Management software

* OpenDAM, Free Open Source Digital Asset Management for enterprise content management integration, to manage image, pictures and video files.

List of free and open-source software packages – File Systems

* OpenAFS — a distributed file system supporting a very wide variety of operating systems

List of free and open-source software packages – File Systems

* Tahoe-LAFS — a distributed file system/Cloud storage system with integrated privacy and security features

List of free and open-source software packages – File Systems

* CephFS — a distributed file system included in the Ceph storage platform.

List of free and open-source software packages – Communication-related

* FreePBX — Front-end and advanced PBX configuration for Asterisk PBX|Asterisk

List of free and open-source software packages – Communication-related

* OpenSER — SIP proxy server, call router, and user agent registration server.

List of free and open-source software packages – Communication-related

* QuteCom — Free Voice, Video and IM client application

List of free and open-source software packages – Communication-related

* sipX — SIP Communications Server

List of free and open-source software packages – Middleware

* Bonita Open Solution(software) — a J2EE web application and java BPMN2 compliant engine

List of free and open-source software packages – RSS/Atom readers/aggregators

* Akregator — Platforms running KDE

List of free and open-source software packages – RSS/Atom readers/aggregators

* Liferea — Platforms running GNOME

List of free and open-source software packages – RSS/Atom readers/aggregators

* RSSOwl — Windows, Mac OS X, Solaris, Linux – Java SWT Eclipse

List of free and open-source software packages – Portal Server

* Oxwall — Community site software

List of free and open-source software packages – Remote access and management

* Virtual Network Computing|VNC (RealVNC, TightVNC, UltraVNC)

List of free and open-source software packages – Web-related

* Cherokee (web server)|Cherokee — Speedy, feature rich HTTP Server

List of free and open-source software packages – Web-related

* CougarXML — a Javascript framework for parsing and manipulating XML code, based on W3C DOM Level-3 specifications.

List of free and open-source software packages – Web-related

* curl-loader — a powerful HTTP/HTTPS/FTP/FTPS loading and testing open-source tool

List of free and open-source software packages – Web-related

* Hiawatha (web server)|Hiawatha — Secure, high performance and easy-to-configure HTTP Server

List of free and open-source software packages – Web-related

* HTTP File Server — a user friendly file server software with a drag and drop interface

List of free and open-source software packages – Web-related

* ICDL Crawling — a distributed web crawler based on Website Parse Template

List of free and open-source software packages – Web-related

* lighttpd — Resource sparing but also fast and full featured HTTP Server

List of free and open-source software packages – Web-related

* Squid (software) — web proxy cache

List of free and open-source software packages – Web-related

* XAMPP — a package of web applications including Apache and MySQL

List of free and open-source software packages – Educational suites

* ATutor — a web-based Learning Content Management System (LCMS)

List of free and open-source software packages – Educational suites

* Gnaural — Brainwave entrainment software

List of free and open-source software packages – Educational suites

* openSIS — a web-based Student Information and School Management System system

List of free and open-source software packages – Educational suites

* Tux Paint — a paint application for 3–12 year olds

List of free and open-source software packages – 2D animation

* Pivot Stickfigure Animator

List of free and open-source software packages – Video editing

* VLMC#VLMC|VLMC — VideoLAN Movie Creator is a non-linear editing software for video creation based on libVLC and running on Windows, Linux and Mac OS X!

List of free and open-source software packages – Other media packages

* Celtx — Media Pre-production Software

List of free and open-source software packages – Operating systems

Be advised that available distributions of these systems can contain, or offer to build and install, added software that is neither free software nor open source.

List of free and open-source software packages – Personal information managers

* Chandler (PIM)|Chandler — developed by the Open Source Applications Foundation|OSAF.

List of free and open-source software packages – Personal information managers

* Mozilla Calendar — A Mozilla-based, multiplatform calendar program.

List of free and open-source software packages – Code generators

* Kodos Python Regular Expression Debugger|Kodos

List of free and open-source software packages – Code generators

* SWIG — Simplified Wrapper and Interface Generator for several languages

List of free and open-source software packages – Code generators

* YAKINDU Statechart Tools statechart code generator for C++ and Java

List of free and open-source software packages – Debuggers (for testing and trouble-shooting)

* GNU Debugger — works for many programming languages […]

List of free and open-source software packages – Disk erasing

* Darik’s Boot and Nuke|DBAN

List of free and open-source software packages – Secure Shell (ssh)

* Cyberduck — Mac OS X and Windows client (since version 4.0)

List of free and open-source software packages – Secure Shell (ssh)

* Lsh — server and client (supporting Secure remote password protocol|SRP and Kerberos (protocol)|Kerberos authentication)

List of free and open-source software packages – Bible study tools

* Go Bible — For Java (programming language)|Java Mobile Phones

List of free and open-source software packages – Bible study tools

* The SWORD Project|jSword — For Java (programming language)|Java

List of free and open-source software packages – Bible study tools

* Marcion, application|Marcion — For Linux and Windows, using Qt (toolkit)|Qt UI Framework and embedded MySql server

List of free and open-source software packages – Bible study tools

* openlp.org — Church software|Worship presentation software for churches to display songs, bibles, movies etc.

Graphics hardware and FOSS – Viewed from the free and open-source software developer’s perspective

There are a number of objections to binary-only drivers

Graphics hardware and FOSS – Viewed from the free and open-source software developer’s perspective

In the Linux kernel development community, Linus Torvalds has made strong statements on the issue of binary-only modules, asserting: I refuse to even consider tying my hands over some binary-only module, and continuing: I want people to know that when they use binary-only modules, it’s THEIR problem.[ lwn.net/1999/0211/a/lt-binary.html Linus Torvalds, kernel mailing list, Feb 7, 1999.] Another kernel developer, Greg Kroah-Hartman, has commented that a binary-only kernel module does not comply with the kernel’s licensemdash;the GNU General Public Licensemdash;it just violates the GPL due to fun things like derivative works and linking and other stuff.[ www.kroah.com/log/linux/ols_2006_keynote.html Myths, Lies, and Truths about the Linux kernel] by Greg Kroah-Hartman

Graphics hardware and FOSS – Viewed from the free and open-source software developer’s perspective

Writer and computer scientist Peter Gutmann (computer scientist)|Peter Gutmann has expressed concerns that the digital rights management scheme in Microsoft’s Windows Vista Operating System may limit the availability of the documentation required to write open drivers as it requires that the operational details of the device be kept confidential.

Graphics hardware and FOSS – Viewed from the free and open-source software developer’s perspective

In the case of binary drivers there are also objections due to free software philosophy, software quality and computer insecurity|security concerns.[ lwn.net/Articles/195351/ Linux Weekly News, Aug 14, 2006: X.org, distributors, and proprietary modules] There are also concerns that the redistribution of closed source Linux kernel modules may be illegal.

Graphics hardware and FOSS – Viewed from the free and open-source software developer’s perspective

By choice, the Linux kernel has no Application binary interface|Binary Kernel Interface.

Comparison of free and open-source software licenses

This is a ‘comparison of published free software licenses’.

Comparison of free and open-source software licenses – General comparison

Note that a yes in either of the last two columns (Link with code using a different license and Release changes under a different license) is not an absolute answer, there may still be restrictions in the license related to this action. You should review the specific license terms and refer to the reference table for more details regarding a yes in these columns. Also not that no in Link with code using a different license-column is not absolute, eg. for GPL, see: GPL compatibility.

Comparison of free and open-source software licenses – Approvals

This table lists for each license what organizations from the free software community have approved itbe it as a free software or as an open source licenseand how those organizations categorize it

Comparison of free and open-source software licenses – Notes

* Compatible with version 3 of the GPL but not version 2.

Comparison of free and open-source software licenses – Notes

* The original version of the Artistic License is defined as non-free because it is overly vague, not because of the substance of the license. The FSF encourages projects to use the Clarified Artistic License instead.[http://www.gnu.org/licenses/license-list.html#ArtisticLicense]

Open design – Open machine design as compared to open-source software

The open-design movement is currently fairly nascent but holds great potential for the future. In some respects design and engineering are even more suited to open collaborative development than the increasingly common open-source software projects, because with 3D models and photographs the concept can often be understood visually. It is not even necessary that the project members speak the same languages to usefully collaborate.

Open design – Open machine design as compared to open-source software

However there are certain barriers to overcome for open design when compared to software development where there are mature and widely used tools available and the duplication and distribution of code cost next to nothing

Open-source software development

The subject of this article is not necessarily the same thing as ‘development of open-source software’. That is a part of the controversy about alternative terms for free software.

Open-source software development

‘Open-source software development’ is the process by which open-source software (or similar software whose source code is publicly available) is often developed. These are software products “available with its source code and under an open-source license to study, change, and improve its design”. Examples of popular open-source software products are Mozilla Firefox, Google Chromium, Android (operating system)|Android and the Apache OpenOffice|Apache OpenOffice Suite.

Open-source software development

In the past, the open-source software development method has been very unstructured, because no clear development tools, phases, etc., had been defined with development methods such as dynamic systems development method. Instead, each project had its own phases. More recently, however, there has been much better progress, coordination, and communication within the open-source community.

Open-source software development – History

The ‘coherent and stable systems’ Raymond mentions often do emerge from open-source software development projects.

Open-source software development – History

In open-source software development, these issues are solved by integrating the users of the software in the development process, or even letting these users build the system themselves.

Open-source software development – Open-source software development phases

Open-source software development can be divided into several phases. The phases specified here are derived from Sharma et al. A diagram displaying the process-data structure of open-source software development is shown on the right. In this picture, the phases of open-source software development are displayed, along with the corresponding data elements. This diagram is made using the meta-modeling and meta-process modeling techniques.

Open-source software development – Starting an open-source project

There are several ways in which work on an open-source project can start:

Open-source software development – Starting an open-source project

# An individual who senses the need for a project announces the intent to develop a project in public. The individual may receive offers of help from others. The group may then proceed to work on the code.

Open-source software development – Starting an open-source project

# A developer working on a limited but working codebase, releases it to the public as the first version of an open-source program. The developer continues to work on improving it, and possibly is joined by other developers.

Open-source software development – Starting an open-source project

# The source code of a mature project is released to the public, after being developed as proprietary software or in-house software.

Open-source software development – Starting an open-source project

# A well-established open-source project can be Fork (software development)|forked by an interested outside party. Several developers can then start a new project, whose source code then diverges from the original.

Open-source software development – Starting an open-source project

Eric Raymond observed in his essay [http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s10.html The Cathedral and the Bazaar] that announcing the intent for a project is usually inferior to releasing a working project to the public.

Open-source software development – Starting an open-source project

It’s a common mistake to start a project when contributing to an existing similar project would be more effective (Not Invented Here#In the free software community|NIH syndrome). To start a successful project it is very important to investigate what’s already there.

Open-source software development – Starting an open-source project

The process starts with a choice between the adopting of an existing project, or the starting of a new project. If a new project is started, the process goes to the Initiation phase. If an existing project is adopted, the process goes directly to the Execution phase.

Open-source software development – Types of open-source projects

Several different types of open-source projects exist. First, there is the garden variety of software programs and libraries, which consist of standalone pieces of code. Some might even be dependent on other open-source projects. These projects serve a specified purpose and fill a definite need. Examples of this type of project include the Linux kernel, the Firefox web browser and the Apache OpenOffice office suite of tools.

Open-source software development – Types of open-source projects

Distributions are another type of open-source project

Open-source software development – Types of open-source projects

Other open-source projects, like the Berkeley Software Distribution|BSD derivatives, maintain the source code of an entire operating system, the kernel and all of its core components, in one revision control system; developing the entire system together as a single team. These operating system development projects closely integrate their tools, more so than in the other distribution-based systems.

Open-source software development – Types of open-source projects

Finally, there is the book or standalone document project. These items usually do not ship as part of an open-source software package. The [http://www.tldp.org/ Linux Documentation Project] hosts many such projects that document various aspects of the GNU/Linux operating system. There are many other examples of this type of open-source project.

Open-source software development – Open-source software development methods

In open-source software development requirements are rarely gathered before the start of the project; instead they are based on early releases of the software product, as Robbins describes

Open-source software development – Open-source software development methods

Alfonso Fuggetta mentions that “rapid prototyping, incremental and evolutionary development, spiral lifecycle, rapid application development, and, recently, extreme programming and the agile software process can be equally applied to proprietary and open source software”.

Open-source software development – Open-source software development methods

One open-source development method mentioned by Fuggetta is an Agile Software Development|agile method called Extreme Programming. All the Agile methods are in essence applicable to open-source software development, because of their iterative and incremental character.

Open-source software development – Open-source software development methods

Another Agile method, Internet-Speed Development, is also suitable for open-source software development in particular because of the distributed development principle it adopts

Open-source software development – Communication channels

Developers and users of an open-source project are not all necessarily working on the project in proximity

Open-source software development – Version control systems

In OSS development the participants, who are mostly volunteers, are distributed amongst different geographic regions so there is need for tools to aid participants to collaborate in the development of source code.

Open-source software development – Version control systems

Concurrent Versions System (CVS) is a prominent example of a source code collaboration tool being used in OSS projects. CVS helps manage the files and codes of a project when several people are working on the project at the same time. CVS allows several people to work on the same file at the same time. This is done by moving the file into the users’ directories and then merging the files when the users are done. CVS also enables one to easily retrieve a previous version of a file.

Open-source software development – Version control systems

Subversion (software)|The Subversion revision control system (SVN) was created to replace CVS. It is quickly gaining ground as an OSS project version control system.

Open-source software development – Version control systems

Many open-source projects are now using distributed revision control|distributed revision control systems, which scale better than centralized repositories such as SVN and CVS. Popular examples are Git (software)|git, used by the Linux kernel, and Mercurial, used by the Python (programming language)|Python programming language.

Open-source software development – Bug trackers and task lists

Most large-scale projects require a bug tracking system (usually web or otherwise Internet based) to keep track of the status of various issues in the development of the project. A simple text file is not sufficient, because they have many such bugs, and because they wish to facilitate reporting and maintenance of bugs by users and secondary developers. Some popular bug trackers include:

Open-source software development – Bug trackers and task lists

* Bugzilla – a sophisticated web-based bug tracker from the Mozilla house.

Open-source software development – Bug trackers and task lists

* Trac – integrating a bug tracker with a wiki, and an interface to the Subversion version control system.

Open-source software development – Bug trackers and task lists

* Redmine – written in Ruby, integrates issue tracking, wiki, forum, news, roadmap, gantt project planning and interfaces with LDAP user directory and several versioncontrol systems such as Subversion, Mercurial, etc.

Open-source software development – Bug trackers and task lists

* Request tracker – written in Perl. Given as a default to CPAN modules – see [http://rt.cpan.org/ rt.cpan.org].

Open-source software development – Bug trackers and task lists

* [http://www.gnu.org/software/gnats/ GNATS] – The GNU Bugtracking system.

Open-source software development – Bug trackers and task lists

* SourceForge and its forks provide a bug tracker as part of its services. As a result many projects hosted at SourceForge.net and similar services default to using it.

Open-source software development – Bug trackers and task lists

* SharpForge includes forums, work item tracking, release management, wiki and version control management.

Open-source software development – Bug trackers and task lists

* JIRA – Atlassian’s project management and issue tracking tool.

Open-source software development – Testing tools

Since OSS projects undergo frequent integration, tools that help automate testing during system integration are used

Open-source software development – Testing tools

A debugger is a computer program that is used to debug (and sometimes test or optimize) other programs. GNU Debugger (GDB) is an example of a debugger used in open-source software development. This debugger offers remote debugging, what makes it especially applicable to open-source software development. Some memory leak detectors have been designed to work with GDB.

Open-source software development – Testing tools

A memory leak tool or memory debugger is a programming tool for finding memory leaks and buffer overflows. A memory leak is a particular kind of unnecessary memory consumption by a computer program, where the program fails to release memory that is no longer needed. Examples of memory leak detection tools used by Mozilla are the XPCOM Memory Leak tools.

Open-source software development – Testing tools

Validation tools are used to check if pieces of code conform to the specified syntax. They are most often used in the context of HTML/XML, but can also be used with programming languages. An example of a validation tool is LCLint, now called Splint (programming tool)|Splint.

Open-source software development – Package management

A package management system is a collection of tools to automate the process of installing, upgrading, configuring, and removing software packages from a computer. The RPM Package Manager|Red Hat Package Manager (RPM) for .rpm and Advanced Packaging Tool (APT) for deb (file format)|.deb file format, are package management systems used by a number of Linux distributions.

Open-source software development – Refactoring, rewrites and other revamps

Open-source developers sometimes feel that their code requires a revamp

Open-source software development – Refactoring, rewrites and other revamps

# Refactoring implies that the code is moved from one place to another, methods, functions or classes are extracted, duplicate code is eliminated and so forth – all while maintaining an integrity of the code. Such refactoring can be done in small amounts (so-called continuous refactoring) to justify a certain change, or one can decide on large amounts of refactoring to an existing code that last for several days or weeks.

Open-source software development – Refactoring, rewrites and other revamps

# Partial rewrites involve rewriting a certain part of the code from scratch, while keeping the rest of the code. Such partial rewrites have been common in the Linux kernel development, where several subsystems were rewritten or re-implemented from scratch, while keeping the rest of the code intact.

Open-source software development – Refactoring, rewrites and other revamps

# Rewrite (programming)|Complete rewrites involve starting the project from scratch, while possibly still making use of some old code

Open-source software development – Automated tests

Software testing is an integral part of open-source development. While many open-source packages were known to be released with some glaring bugs even in some stable releases, most open-source software eventually becomes very stable.

Open-source software development – Automated tests

Traditionally, in most of the open source there was a general lack of awareness for automated tests, in which one writes automated test scripts and programs that run the software and try to find out if it behaves correctly. Recently, however, this awareness has been growing, possibly because of influence from extreme programming, and because of some high-profile software packages that incorporated such test suites.

Open-source software development – Automated tests

Most open-source software is either command line or alternatively APIs and as such is very easy to test automatically.

Open-source software security

‘Open-source software security’ is the measure of assurance or guarantee in the freedom from danger and risk inherent to an open-source software system.

Open-source software security – The debate

There is an ongoing debate on whether open-source software increases software security or is detrimental to its security. The arguments on either side are completely subjective and no relationship between number of vulnerabilities in an application and its open-source/proprietary status has been observed. Significant factors seem to be more along the lines of the age of the application, education-level of developers, number of developers/testers, project goals, and code complexity.

Open-source software security – Benefits of open-source security

*More people can inspect the source code to find and fix a possible vulnerability.

Open-source software security – Benefits of open-source security

*Proprietary software forces the user to accept the level of security that the software vendor is willing to deliver and to accept the rate that patches and updates are released.Cowan, C. (January 2003). IEEE Security Privacy. IEEE Security Privacy, 38–45. Retrieved 5 May 2008, from IEEE Computer Society Digital Library.

Open-source software security – Benefits of open-source security

*The end-user of open-source code has the ability to change and modify source to implement any extra features of security they may wish for a specific use, which can extend to the kernel level if they so wish.

Open-source software security – Benefits of open-source security

*It is assumed that any compiler that is used creates code that can be trusted, but it has been demonstrated by Ken Thompson that a compiler can be subverted using an eponymous Backdoor_(computing)#Reflections_on_Trusting_Trust|Thompson hack to create faulty executables that are unwittingly produced by a well-intentioned developer.Witten, B., Landwehr, C., Caloyannides, M

Open-source software security – Benefits of open-source security

** David A. Wheeler demonstrates that the existence of two different open-source self-compiling compilers (which should be able to compile each other) can be used to establish a binary for one of them that is known not to be subverted by the Thompson hack.Wheeler, David A. Fully Countering Trusting Trust through Diverse Double-Compiling.

Open-source software security – Benefits of open-source security

*Kerckhoffs’ principle is based on the idea that an enemy can steal a secure military system and not be able to compromise the information. His ideas were the basis for many modern security practices, and followed that security through obscurity is a bad practice.Hoepman, J.-H., Jacobs, B. (2007). Increased Security Through Open Source. Communications of the ACM , 50 (1), 79–83. Retrieved 5 May 2008, from ACM Digital Library.

Open-source software security – Drawbacks of open-source security

*All people have access to the source code, including potential attackers. Any unpatched vulnerability can be used by attackers.

Open-source software security – Drawbacks of open-source security

*Simply making source code available does not guarantee review

Open-source software security – Drawbacks of open-source security

*Having a large amount of eyes reviewing code can lull a user into a false sense of security.Hansen, M., Köhntopp, K., Pfitzmann, A. (2002). The Open Source approach – opportunities and limitations with respect to security and privacy. Computers Security , 21 (5), 461–471. Retrieved 5 May 2008, from Computer Database. Having many users look at source code does not guarantee that security flaws will be found and fixed.

Open-source software security – Metrics and models

There are a variety of models and metrics to measure the security of a system. These are a few methods that can be used to measure the security of software systems.

Open-source software security – Number of days between vulnerabilities

It is argued that a system is most vulnerable after a potential vulnerability is discovered, but before a patch is created

Open-source software security – Poisson process

The Poisson process can be used to measure the rates at which different people find security flaws between open and closed source software

Open-source software security – Morningstar model

By comparing a large variety of open source and closed source projects a star system could be used to analyze the security of the project similar to how Morningstar, Inc

Open-source software security – Morningstar model

*3 Stars: Follows best security practices.

Open-source software security – Coverity scan

Coverity in collaboration with Stanford University has established a new baseline for open-source quality and security

Open-source software security – Coverity scan

The project has been analyzed by Coverity’s Scan infrastructure, but no representatives from the open-source software have come forward for the results.

Open-source software security – Coverity scan

At rung 1, there is collaboration between Coverity and the development team. The software is analyzed with a subset of the scanning features to prevent the development team from being overwhelmed.

Open-source software security – Coverity scan

There are 11 projects that have been analyzed and upgraded to the status of Rung 2 by reaching zero defects in the first year of the scan. These projects include: AMANDA, Network Time Protocol#Unix|ntp, OpenPAM, OpenVPN, Overdose, Perl, PHP, Postfix (software)|Postfix, Python (programming language)|Python, Samba (software)|Samba, and tcl.

Outline of free software – Open-source software development products

*Java (programming language)|Java

Outline of free software – Open-source software development products

*Lua (programming language)|Lua

Outline of free software – Open-source software development products

*Python (programming language)|Python

Outline of free software – Open-source software development products

*Ruby (programming language)|Ruby

OpenFOAM – Free and open-source software

* Stanford University Unstructured (GPL)[http://su2.stanford.edu/ SU2 homepage]

OpenFOAM – Free and open-source software

* CLAWPACK[depts.washington.edu/clawpack]

Open-source software movement – Definitions

OSI uses The Open Source Definition to determine whether it considers a software license open source

Open-source software movement – Definitions

However, Richard Stallman of the Free Software Foundation flatly opposes the term Open Source being applied to what they refer to as free software

Open-source software movement – Definitions

Increasingly, the consensus term free and open source software is used by the communities at large to describe the common ground between free software and open source software.

Open-source software movement – Open software licensing

Authors initially derive a right to grant a license to their work based on the legal theory that upon creation of a work the author owns the copyright in that work

Open-source software movement – Open software licensing

Placing code (or content) in the public domain is a way of waiving an author’s (or owner’s) copyrights in that work. No license is granted, and none is needed, to copy, modify or redistribute a work in the public domain.

Open-source software movement – Open software licensing

The proliferation of open-source licenses is one of the few negative aspects of the open-source movement because it is often difficult to understand the legal implications of the differences between licenses

Open-source software movement – Considerations for software producers

Not all OSS initiatives have been successful, for example SourceXchange and Eazel

Open-source software movement – Projects and organizations

Some of the more prominent organizations involved in OSS development include the Apache Software Foundation, creators of the Apache web server; the Linux Foundation, a nonprofit which employed Linus Torvalds, the creator of the Linux kernel|Linux operating system kernel; the Eclipse Foundation, home of the Eclipse (software)|Eclipse software development platform; the Debian Project, creators of the influential Debian GNU/Linux distribution;

Open-source software movement – Projects and organizations

Several open source programs have become defining entries in their space, including the GIMP image editing system; Sun Microsystems|Sun’s Java (programming language)|Java programming language and environment; the MySQL database system; the FreeBSD Unix operating system; Sun Microsystems|Sun’s OpenOffice.org office productivity suite; and the Wireshark network packet sniffer and protocol analyser.

Open-source software movement – Projects and organizations

Open Source development is often performed live and in public, using services provided for free on the Internet, such as the Launchpad (website)|Launchpad and SourceForge.net|SourceForge web sites.

Open-source software movement – Funding

Another approach to funding is to provide the software freely, but sell licenses to proprietary add-ons such as data libraries. For instance, an open-source computer-aided design|CAD program may require parts libraries which are sold on a subscription or flat-fee basis. Open-source software can also promote the sale of specialized hardware that it interoperates with, as in the case of the Asterisk (PBX)|Asterisk telephony software, developed by a manufacturer of PC telephony hardware (Digium).

Open-source software movement – Closed source / proprietary software

With this market shift, more critical systems are beginning to rely on open source offerings, allowing greater funding (such as US Department of Homeland Security grants ) to help hunt for security bugs. According to a pilot study of organisations adopting (or not adopting) OSS; several factors of statistical significance were observed in the manager’s beliefs in relation to (a) attitudes toward outcomes, (b) the influences and behaviours of others and (c) their ability to act.

Open-source software movement – Free software

The main difference is that by choosing one term over the other (i.e. either open source or free software) one lets others know about what one’s goals are. As Richard Stallman puts it, Open source is a development methodology; free software is a social movement.

Open-source software movement – Free software

Critics have said that the term open source fosters an ambiguity of a different kind such that it confuses the mere availability of the source with the freedom to use, modify, and redistribute it. Developers have used the alternative terms for free software|alternative terms Free/open source Software (FOSS), or Free/Libre/open source Software (FLOSS), consequently, to describe open source software which is also free software.

Open-source software movement – Free software

The term open source was originally intended to be trademarkable; however, the term was deemed too descriptive, so no trademark exists. The OSI would prefer that people treat open source as if it were a trademark, and use it only to describe software licensed under an OSI approved license.

Open-source software movement – Free software

‘OSI Certified’ is a trademark licensed only to people who are distributing software licensed under a license listed on the Open Source Initiative’s list.

Open-source software movement – Free software

Open-source software and free software are different terms for software which comes with certain rights, or freedoms, for the user. They describe two approaches and philosophy|philosophies towards free software. Open source and free software (or software libre) both describe software which is free from onerous licensing restrictions. It may be used, copied, studied, modified and redistributed without restriction. Free software is not the same as freeware, software available at zero price.

Open-source software movement – Free software

The definition of open source software was written to be almost identical to the free software definition

Open-source software movement – End of 1990s: Foundation of the Open Source Initiative

In 1997, Eric S. Raymond|Eric Raymond published The Cathedral and the Bazaar, a reflective analysis of the hacker community and free software principles. The paper received significant attention in early 1998, and was one factor in motivating Netscape Communications Corporation to release their popular Netscape Communicator Internet suite as free software. This code is today better known as Mozilla Firefox and Mozilla Thunderbird|Thunderbird.

Open-source software movement – End of 1990s: Foundation of the Open Source Initiative

There has been a significant shift in the corporate philosophy concerning the development of free and open-source software (FOSS).Jeffrey Voas, Keith W

Open-source software movement – End of 1990s: Foundation of the Open Source Initiative

* Localization—particularly in the context of local governments (who make software decisions)

Open-source software movement – End of 1990s: Foundation of the Open Source Initiative

The open source label came out of a strategy session held on April 7, 1998 in Palo Alto, California|Palo Alto in reaction to Netscape Communications Corporation|Netscape’s January 1998 announcement of a source code release for Netscape Navigator|Navigator (as Mozilla)

Open-source software movement – End of 1990s: Foundation of the Open Source Initiative

The Free Software Foundation (FSF), started in 1985, intended the word free to mean freedom to distribute (or free as in free speech) and not freedom from cost (or free as in free beer). Since a great deal of free software already was (and still is) free of charge, such free software became associated with zero cost, which seemed anti-commercial.

Open-source software movement – End of 1990s: Foundation of the Open Source Initiative

The Open Source Initiative (OSI) was formed in February 1998 by Eric S

Open-source software movement – Current applications

quote box|width=25%|quote=’We migrated key functions from Windows to Linux because we needed an operating system that was stable and reliable — one that would give us in-house control. So if we needed to patch, adjust, or adapt, we could.’|source=Official statement of the United Space Alliance, which manages the computer systems for the International Space Station (ISS), regarding why they chose to switch from Windows to Debian Linux on the ISS

Open-source software movement – Business applications

There are a number of commonly recognized barriers to the adoption of open-source software by enterprises

Open-source software movement – Business applications

A commonly employed business strategy of commercial open-source software firms is the dual-licensing|dual-license strategy, as demonstrated by Ingres (database)|Ingres, MySQL, eXo Platform, Alfresco (software)|Alfresco, Sleepycat Software|Sleepycat and others.Mike Olson (co-founder and CEO of Sleepycat Software and Cloudera), [http://ecorner.stanford.edu/authorMaterialInfo.html?mid=3223 lecture to Stanford University entrepreneurship students], 2013.11.13

Open-source software movement – Non-software use

The same principles that underlie open source software can be found in many other ventures, such as open-source hardware, Wikipedia, and open-access publishing

Business models for open-source software

In addition, many independent software vendors (ISVs), value-added resellers (VARs), and hardware vendors (Original equipment manufacturer|OEMs or Original design manufacturer|ODMs) use open-source Software framework|frameworks, modules, and Library (computing)|libraries inside their proprietary, for-profit products and services

Business models for open-source software – Challenges

Open-source software can be sold and used in general Commerce|commercially. Also, commercial open-source applications are a part of the software industry for some time. Despite that, except for Red Hat and VA Software, no other pure open-source company has gone public on the major stock markets. While commercialization or funding of open-source software projects is possible, it is considered challenging.

Business models for open-source software – Challenges

Since several open-source licenses stipulate that derived works must distribute their intellectual property under an open-source (copyleft) license, ISVs and VARs have to develop new legal and technical mechanisms to foster their commercial goals as many traditional mechanisms are not directly applicable anymore.

Business models for open-source software – Challenges

Open-source software development minimizes the effectiveness of this tactic; development of the product is usually performed in view of the public, allowing competing projects or Clone (computing)|clones to incorporate new features or improvements as soon as the public code repository is updated, as permitted by most open-source licenses

Business models for open-source software – Challenges

Therefore, there is considerable debate about whether vendors can make a sustainable business from an open-source strategy

Business models for open-source software – Challenges

A variety of open-source compatible business approaches have gained prominence in recent years; notable examples include dual licensing, software as a service, not charging for the software but for services, freemium, donation-based funding, and crowdfunding (see the #Approaches|Approaches section, below).

Business models for open-source software – Challenges

The underlying objective of these business models is to harness the size and international scope of the open-source community (typically more than an order of magnitude larger than what would be achieved with closed-source models) for a sustainable commercial venture

Business models for open-source software – Approaches

There are several different types of business models for making Profit (economics)|profit using open-source software (OSS) or funding the creation. Below are existing and legal commercial business approaches in context of open-source software and open-source licenses. The acceptance of these approaches varies, some of these approaches are recommended (like selling services), some are accepted and some are considered controversial or even unethical by the open-source community.

For More Information, Visit:

store.theartofservice.com/the-open-source-software-toolkit.html

store.theartofservice.com/the-open-source-software-toolkit.html