The Wayback Machine - https://web.archive.org/web/20120107212558/http://www.ibm.com/developerworks/opensource/newto/
Skip to main content

If you don't have an IBM ID and password, register here.

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

This guide places all the basics of open source in context to help you get started in the most wide-ranging, growing, and dynamic field of software development today. The developerWorks Open source zone is your source for how-to information, tools, and project updates to help you develop with open source technologies and use them with IBM® products. Topic areas include Eclipse, Apache Derby, Apache Geronimo, scripting languages such as PHP, Python, and Perl, as well as broader discussions on open source licensing and open source development.

What is open source technology?

In a word, open source is collaboration. More specifically, it's public collaboration on a software project. IBM has committed to open source in a big way with contributions to more than 120 projects, including more than $1 billion in Linux® development. According to the Open Source Initiative (OSI), it can be defined this way: "Open source promotes software reliability and quality by supporting independent peer review and rapid evolution of source code. To be OSI certified, the software must be distributed under a license that guarantees the right to read, redistribute, modify, and use the software freely."

Open source can also apply to the popular movement of individuals, organizations, and companies that seek to put such software into mainstream usage. According to the Open Source Initiative, open source consists of 10 points, which are reproduced below. Open source doesn't just mean access to the source code. The distribution terms of open source software must comply with the following criteria:

1. Free redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

2. Source code
The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.

3. Derived works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

4. Integrity of the author's source code
The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.

5. No discrimination against persons or groups
The license must not discriminate against any person or group of persons.

6. No discrimination against fields of endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

7. Distribution of license
The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.

8. License must not be specific to a product
The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.

9. License must not restrict other software
The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open source software.

10. License must be technology-neutral
No provision of the license may be predicated on any individual technology or style of interface.

See the developerWorks articles "Open source licensing, Part 1: The intent" and "Open source licensing, Part 2: Academic v. reciprocal" for additional information.

Also, be sure to check out the white paper, "Integrating Open Source into your business" for more information about open source and open computing, the benefits and challenges of open source, and how to integrate open source into your IT strategy.

Why is open source technology important?

The initial attraction that most computer users have to open source software is the price. Open source programs are often given away by the author. However, zero out-of-pocket cost is not an intrinsic quality of open source software.

There is a pragmatic and philosophical argument favoring open source development:

  1. Open source programs allow a developer to look at the code, see if it can be improved, and use it in a program of their own. Contributors from around the world can contribute and offer translations, documentation, bug reports, and help in other forms. A free exchange of ideas speeds innovation.
  2. According to the GNU Manifesto, people have a moral right to the human-readable form of a computer program.

What is FOSS?

FOSS stands for Free and Open Source Software. This term is used for software that satisfies either the definition in free or the definition in open source, when there is no need to make a distinction.

What does open source have to do with "free beer" and "free speech"?

The English word "free" is tricky in that it can mean either freedom or gratis, as in no-cost to the taker. When open source proponents get up on their soapboxes, they often have to preface their remarks so the listener knows if the speaker is referring to "free" as in "free speech," which is a matter of policy, or "free" as in "free beer." As any college student can report, someone needs to bear the cost of creating the beer (or software) while others consume the beer (or software) and enjoy it with no out-of-pocket costs.

How may I get started with open source?

The decision to start developing open source software is a political and licensing decision and less so one of technology. See the OSI list of approved open source licenses and make your selection according to your needs and plans for your project. See the developerWorks articles "Open source licensing, Part 1: The intent" and "Open source licensing, Part 2: Academic v. reciprocal" for additional information. You may want to consult with an attorney specializing in intellectual property if you find the terms of the existing licenses confusing or if you have questions.

In early 2005, open source license luminaries predicted the community would see fewer open source licenses, although it's unclear if that prediction is more of a hope than an expectation.

What is LAMP?

LAMP stands for Linux, Apache, MySQL, and PHP. However, depending on who you talk to, the P can stand for Perl or Python. In general, P is assumed to be PHP. LAMP has a bigger meaning, too. LAMP represents a nonproprietary, flexible way to create a server-based application. Each of the programs comprising the term can be replaced with an alternative that best suits the needs of the application. Each component can be upgraded independently, although this is usually done with care and planning. Best of all, each program in LAMP is free, or almost free in both meanings of the word.

developerWorks offers excellent articles and tutorials on Linux, Apache, MySQL, PHP, Python, and Perl.

What language is open source written in?

All of them. The technology behind open source is not the most important element of open source. The important element is the decision of the author or authors to release the software as open source and use one of the many open source licenses.

Is open source software legal?

Yes, and almost everyone who uses e-mail or surfs the Web is an open source software user. Most e-mail passes through an open source server during its travels across the Internet. Most Web servers rely on open source software. Google is based on open source. As OSI points out, the running gears of the Internet, including the mail transports, Web and FTP servers, are virtually all open source-based.

Open source software is not warez, which is software distributed without permission of the copyright holders or a proper license.

What are IBM's open source efforts?

In a nutshell, IBM is a significant force supporting open source innovation and collaboration. The company participates in more than 120 collaborative projects contributed to the open source community, including Eclipse, Apache Derby, and Apache Geronimo. IBM is also contributing to Apache Tuscany and Apache Harmony.

Does IBM have an open source license?

Yes, the Common Public License. See Common Public License (CPL) Frequently asked questions for background information on the CPL.

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

Morty Proxy This is a proxified and sanitized view of the page, visit original site.