Open Source

10 terms and concepts related to open source

Despite the proliferation of open source projects, some people are still fuzzy on the terminology and basic open source concepts. Susan Harkins put together this list to help clear up some of the confusion.

Open source is here to stay. According to Jeffrey Hammond, an analyst with Forrester Research, "Nearly four out of five developers use open source software for development or application deployment." Simply consider the success of LAMP (Linux, Apache, MySQL, and PHP) and you can't deny that open source is a strong contender for resources. Even so, a certain amount of confusion and misunderstanding still surrounds open source projects. The next 10 terms aren't specific solely to open source, but they're part of the lingo you should know.

Note: This article is also available as a PDF download.

1: Open source

Open source refers to software that's free to the public. More specifically, the software's source code is available to the public to use and/or modify. You can use the program as is or modify its source code to suit your needs, without fear of legal reprisals. Take it home-it's yours; it's free! Technically, open source refers to a great deal more than free stuff. It defines copyright, licensing, domain, and consumer issues for this special software niche.

You might think the whole point is free software, but it isn't. The real push is better software. Developers eliminate bugs and make improvements. They then redistribute their modifications -- and it all happens much quicker than in a commercial product. If your commercial software has a bug, you have to wait for a patch or upgrade, if the company even decides to fix it. If open source software has a bug, developers in the community fix it as quickly as they discover it.

2: Source code

Every product has source code. However, commercial software comes in a compiled (ready-to-run) version. Usually, you work through an interface that communicates with the source code, and you never have direct access to it. You can't see it and you can't alter it. Open source, on the other hand, includes the source code in the compiled version. You can access it and modify it.

3: Free distribution

Free distribution doesn't sound like a specialized term, does it? It's not, but understanding how this term fits into the open source community will help you understand what open source is and isn't. Open source isn't just free access to the source code. Not only can you use open source to develop a custom application, you may then freely distribute your application. To learn more about what constitutes open source software, read The Open Source Definition.

In addition, open source has grown and there are now many hybrids where some code is developed behind closed doors. Licensing is also branching to include products based on open source but not freely distributable.

4: Open Source Initiative (OSI)

The OSI is a nonprofit corporation with a mission of education and advocacy for the open source community. Anybody can call their program open source, but this organization maintains compliance and trademark information that the industry at large recognizes in a cooperative effort. In other words, everyone plays nicely with the help of the OSI.

5: Community

Once the original programmers distribute an open source program, it goes out into the wide, wide world, where everyone uses and supports it. That's the program's community -- a collaborative effort, where developers improve the code and share what they've learned. An active and knowledgeable community is vital to the health and success of an open source program.

6: Committer

Committers are the community's quality control experts. Somebody has to control the process. Committers actually decide what changes, based on community experience, make it into the originally licensed program. As you can imagine, being a committer is a bit like walking a tightrope. It's a balancing act with the community's good will on one side and the integrity of the source code on the other.

Users are still free to modify and distribute their changes. However, those changes don't always make it into the originally licensed version.

7: Revenue trigger

This isn't really an open source term at all. But move into the open source sector and you'll hear it a lot. If programmers give their products away free, how do they eat? That's where revenue triggers come in. Many rely on ad-driven sites. Others charge for support, training, consulting contracts, custom development, and so on. Subscriptions that guarantee specific support, services, and upgrades are somewhat popular. Embedded software is open source software that's distributed in a larger commercial package. Other products and services often create revenue. The original open source software remains open source, but the originators also sell complementary products to use with it.

8: Governance

In the article I mentioned earlier, Forrester analyst Jeffrey Hammond said, "...40% of IT managers and executives ... say their companies use open source software." Do the math and you'll see that's why we have governance. Those statistics tell us that developers are using open source software that's not approved by management.

The availability of open source software makes it easy for developers to make choices without corporate oversight. That might be good for the individual developer, but not so great for everyone else. The lack of technical support and warranty are just two administrative concerns. For a look at potential problems, read 9 ways to avoid open source pitfalls by Andrew Till. Organizations need a strategy for recommending and controlling open source programs.

9: Cloud computing

Cloud computing refers to an on-call service that supplies software and storage via the Internet. None of the components resides on the end user's local system. A cloud network provides common business applications that users can access from most anywhere using a Web browser or Web service because everything the user needs is stored on cloud servers.

The National Institute of Standards and Technology (NIST) defines the cloud as follows: "Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."

What's the cloud have to do with open source? A lot more than you might think. Many cloud applications are open source programs. Just remember that the cloud doesn't distribute the software, it runs the software as a service.

10: General Public License (GPL)

Why would you want to license free software? Licensing guarantees certain rights to users:

  • They can use the code anytime.
  • They can redistribute the code to anyone (with similar licensing restrictions).
  • They can create a custom application (derived work) based on the code and redistribute the open source code with the derived work (again, with similar licensing restrictions).

The original authors of the open source code can stop distributing the source code, but others can continue to distribute it. Licensing also quells contributor squabbles. You contribute freely, and others freely distribute what you contribute, for all time. You can't lay claim and take it back. This type of license protects the collaborative effort.

You'd think it was all about the users, but it isn't. Many programmers think it's the only way to go: write the original source code and let the community determine its fate. Using the many revenue trigger strategies, programmers of open source products can build a reputation and make a living. It's an interesting and innovative way to break into an otherwise monopolistic industry.

About

Susan Sales Harkins is an IT consultant, specializing in desktop solutions. Previously, she was editor in chief for The Cobb Group, the world's largest publisher of technical journals.

12 comments
grax
grax

You've never been shy in encouraging me in the past but I don't see the need to use "technical terms". What's wrong with plain English? Much better for trying to convey an abstruse social concept such as Open Source. It isn't that I simply don't like the article. I commend the effort to try to explain what can be a confusing issue. I deplore the manner in which it's been executed. I used the term "sloppy" for purposes of brevity. You should have been pleased. The article is inaccurate in parts and some of the thinking is woolly. 1: Open source "Open source refers to software thats free to the public." "Take it home-its yours; its free!" This sort of comment is exactly the type of thing that causes the "confusion and misunderstanding" the author complains about. The man on the Clapham omnibus might reasonably assume that all Open Source software is free as in No Charge. You and I both know that it isn't. Indeed, later on the author says so. Woolly thinking. 3: Free distribution That word "free" again. 5: Community "it goes out into the wide, wide world, where everyone uses and supports it" Everyone? I think not. The vast majority of people in "the wide, wide world" have no idea what they're using. They may use Firefox or Google Chrome because they're good and free but they don't use them because they think they're Open Source. 9: Cloud computing "Whats the cloud have to do with open source? Good question. But the answer:- "Many cloud applications are open source programs. Just remember that the cloud doesnt distribute the software, it runs the software as a service." That doesn't make "The Cloud" an Open Source Project. Just because I use LAMP on behalf of my clients doesn't make all my work Open Source. I apologise for being verbose. Jaqui always has been pithier than me and makes the essential point perfectly. I'm a believer in Open Source in principle and hope that "the wide, wide world" might gain a better appreciation of it and its benefits. I don't think this article helps to do that. I would like to see it re-written.

grax
grax

This is one of the most sloppily worded items I've seen in a long time. "Open source refers to software that???s free to the public" The very first statement and it's inaccurate.Do you get paid for writing this stuff? Start again!

Jaqui
Jaqui

1: Open source ~snip~ Take it home-it???s yours; it???s free! Technically, open source refers to a great deal more than free stuff. It defines copyright, licensing, domain, and consumer issues for this special software niche. A point here, even the most widely known and used open source software license, the GNU-GPL, makes specific allowance for a ???reasonable charge??? for software. Financial cost or it's lack for a piece of software is not really part of what the open source software movement is about. 2: Source code Every product has source code. However, commercial software comes in a compiled (ready-to-run) version. Usually, you work through an interface that communicates with the source code, and you never have direct access to it. You can???t see it and you can???t alter it. Open source, on the other hand, includes the source code in the compiled version. You can access it and modify it. Not 100% accurate there. Open source software does not include the source code by default, it means that you have access to the source code. Any software can be open sourced, even if it is commercially licensed. You can legally only make access to the source code available to those who have purchased your software under most open source licenses. 3: Free distribution Free distribution doesn???t sound like a specialized term, does it? It???s not, but understanding how this term fits into the open source community will help you understand what open source is and isn???t. Open source isn???t just free access to the source code. Not only can you use open source to develop a custom application, you may then freely distribute your application. To learn more about what constitutes open source software, read The Open Source Definition. In addition, open source has grown and there are now many hybrids where some code is developed behind closed doors. Licensing is also branching to include products based on open source but not freely distributable. This problem is what the GNU-GPL was designed to prevent. This is where the viral nature of the GNU-GPL comes into effect, if you use source code that was released under the GNU-GPL then you must make [b]that portion[/b] of your own source code available. If the software you produce absolutely requires GNU-GPLed software to function, then your software must also be under the GNU-GPL. . 5: Community Once the original programmers distribute an open source program, it goes out into the wide, wide world, where everyone uses and supports it. That???s the program???s community ??? a collaborative effort, where developers improve the code and share what they???ve learned. An active and knowledgeable community is vital to the health and success of an open source program. This is the single strongest aspect in favour of Open Source software. Not even Microsoft can afford to pay for the number of programmer man hours an open source project that is popular can have donated to it. No proprietary software company can pay to have thousands of different programmers test a patch for a security flaw, and have that patch out to the world in less than 24 hours, which is a frequent occurrence with open source software. 6: Committer Committers are the community???s quality control experts. Somebody has to control the process. Committers actually decide what changes, based on community experience, make it into the originally licensed program. As you can imagine, being a committer is a bit like walking a tightrope. It???s a balancing act with the community???s good will on one side and the integrity of the source code on the other. Users are still free to modify and distribute their changes. However, those changes don???t always make it into the originally licensed version. Add to this, getting committer access to the repository is something they earn by consistent high quality submissions to benefit the project. 8: Governance In the article I mentioned earlier, Forrester analyst Jeffrey Hammond said, ??????40% of IT managers and executives ??? say their companies use open source software.??? Do the math and you???ll see that???s why we have governance. Those statistics tell us that developers are using open source software that???s not approved by management. Not necessarily so Susan, management could have approved the use of the software before it was implimented. The availability of open source software makes it easy for developers to make choices without corporate oversight. That might be good for the individual developer, but not so great for everyone else. The lack of technical support and warranty are just two administrative concerns. ~chuckle~ what software comes with a warranty? Even the ever so ubiquitous Microsoft Windows has no Warranty, read the M.S. E.U.L.A. [ That flaw I have an issue with anyway, if your software is good enough to make available, then you should be willing to stand behind it with a warranty. ] 9: Cloud computing Not always open source software behind the cloud access, it's just as likely to be proprietary software as open source. 10: General Public License (GPL) The Free Software Foundation's definition is a bit clearer, the 4 freedoms section. ??????Free software??? is a matter of liberty, not price. To understand the concept, you should think of ???free??? as in ???free speech,??? not as in ???free beer.??? Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program's users have the four essential freedoms: The freedom to run the program, for any purpose (freedom 0). The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this. The freedom to redistribute copies so you can help your neighbor (freedom 2). The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this. A program is free software if users have all of these freedoms.??? from: http://www.gnu.org/philosophy/free-sw.html

Jim Bush
Jim Bush

Are redistributed source code accepted into the community with some users who have no knowledge of checking for security?

CharlieSpencer
CharlieSpencer

What do you find inaccurate about the statement? You've made it apparent you don't like the article; how about telling us in technical terms exactly why?

Jaqui
Jaqui

Yes they can be vulnerable to a virus, any software can be, the programmers are human. No, this is not a significant concern with the Free Software / Open Source Software operating systems. The reason M.S. Windows is so vulnerable is that EVERY installation is guaranteed to have 90% the same code. With the Free Software / open source software operating systems this common code base is closer to 40%. The configuration options used to compile the software makes that 40% same code base effectively 15%. Add that the free software / open source software operating systems are all unix or unix-like and the risks are far lower. Unix was designed from the very start as a "secure, multi user operating system" making the system level access for viruses and malware to truly do damage less likely. [ note: This is the serious flaw in Ubuntu's sudo configuration, it increases that risk 10 fold ] The issue of the specific malware called a rootkit is a different story. A rootkit is designed to GET system access information and exploit privilege escalation, which is the foundation of the Unix and Unix-like security design. making even Apple's Macos vulnerable to them. [ Macos has always been recognized as a Unix by the definitions of the Single Unix Specification. ] The most secure operating system currently available, by all quantifieable criteria, is openBSD. One of the Free software / Open Source Software operating systems. It's 14+ year history has the fewest security issues of ALL operating systems. But, openBSD is not a desktop ready os, it's focus and development mandate has always been security first. it makes an excellent option for a server.

ssharkins
ssharkins

Jim, good question and Michael, thank you for pointing us all to some good information!

galatains
galatains

In addition, open source has grown and there are now many hybrids where some code is developed behind closed doors. Licensing is also branching to include products based on open source but not freely distributable christmas Wishes || new year messages

Editor's Picks