SEARCH

How-To Geek

HTG Explains: What Is Open-Source Software and Why You Should Care

ubuntu-lucid-lynx-tux-android

Geeks often describe programs as being “open source” or “free software.” If you’re wondering exactly what these terms mean and why they matter, read on. (No, “free software” doesn’t just mean that you can download it for free.)

Whether a program is open-source or not doesn’t just matter to developers, it ultimately matters for users, too. Open-source software licenses give users freedoms they would not otherwise have.

Image Credit: Quinn Dombrowski on Flickr

The Definition of Open Source

If a program is open-source, its source code is freely available to its users. Its users – and anyone else – have the ability to take this source code, modify it, and distribute their own versions of the program. The users also have the ability to distribute as many copies of the original program as they want. Anyone can use the program for any purpose; there are no licensing fees or other restrictions on the software. The OSI has a more detailed definition of “open source” on its website.

For example, Ubuntu Linux is an open-source operating system. You can download Ubuntu, create as many copies as you want, and give them to your friends. You can install Ubuntu on an unlimited amount of your computers. You can create remixes of the Ubuntu installation disc and distribute them. If you were particularly motivated, you could download the source code for a program in Ubuntu and modify it, creating your own customized version of that program – or of Ubuntu itself. Open-source licenses all allow you to do this, while closed-source licenses place restrictions on you.

The opposite of open-source software is closed-source software, which has a license that restricts users and keeps the source code from them.

Firefox, Chrome, OpenOffice, Linux, and Android are some popular examples of open-source software, while Microsoft Windows is probably the most popular piece of closed-source software out there.

Open Source vs. Free Software

Open source applications are generally freely available – although there’s nothing stopping the developer from charging for copies of the software if they allow redistribution of the application and its source code afterwards.

However, that’s not what “free software” refers to. The “free” in free software means “free as in freedom,” not “free as in beer.” The free software camp, led by Richard Stallman and the Free Software Foundation, focuses on the ethics and morals of using software that can be controlled and modified by the user. In other words, the free software camp focuses on user freedoms.

richard-stallman

Richard Stallman. Image by Fripog on Flickr.

The open-source software movement was created to focus on more pragmatic reasons for choosing this type of software. Open-source advocates wanted to focus on the practical benefits of using open-source software that would appeal more to businesses, rather than ethics and morals.

Ultimately, both open-source and free software advocates are developing the same type of software, but they disagree on the messaging.

Types of Licenses

There are many different licenses used by open-source projects, depending on which the developers prefer for their program.

The GPL, or GNU General Public License, is widely used by many open-source projects, such as Linux. In addition to all the above definitions of open-source, the terms of the GPL specify that, if anyone modifies an open-source program and distributes a derivative work, they must also distribute the source code for their derivative work. In other words, no one can take open-source code and create a closed-source program from it – they must release their changes back to the community. Microsoft referred to the GPL as being “viral” for this reason, as it forces programs that incorporate GPL code to release their own source code. Of course, a program’s developers can opt not to use GPL code if this is a problem.

pidgin-license-agreement

Some other licenses, such as the BSD license, place less restrictions on developers. If a program is licensed under the BSD license, anyone can incorporate the program’s source code into another program. They don’t have to release their changes back to the community. Some people see this is being even more “free” than the GPL license, as it gives developers the freedom to incorporate the code into their own closed-source programs, while some people see it as being less “free” because it takes rights away from the end users of the derived program.

Benefits for Users

This isn’t all dry, unimportant stuff that only matters to developers. The most obvious benefit of open-source software is that it can be had for free. The example of Ubuntu Linux above makes that clear – unlike Windows, you can install or distribute as many copies of Ubuntu as you want, with no restrictions. This can be particularly useful servers – if you’re setting up a server, you can just install Linux on it. if you’re setting up a virtualized cluster of servers, you can easily duplicate a single Ubuntu server. You don’t have to worry about licensing and how many instances of Linux you’re allowed to run.

An open-source program is also more flexible. For example, Windows 8’s new interface disappointed many long-time desktop Windows users. Because Windows is closed-source, no Windows user can take the Windows 7 interface, modify it, and make it work properly on Windows 8. (Some Windows users are trying, but this is a painstaking process of reverse engineering and modifying binary files.)

image

When a Linux desktop like Ubuntu introduces a new desktop interface that some users aren’t fans of, users have more options. For example, when GNOME 3 was released, many Linux desktop users were equally turned off. Some took the code to the old version, GNOME 2, and modified it to make it run on the latest Linux distributions – this is MATE. Some took the code to GNOME 3 and modified it to make it work in a way they preferred – this is Cinnamon. Some users just switched to existing alternative desktops. If Windows was open-source, Windows 8 users would have more choice and flexibility. Just take a look at CyanogenMod, a popular, community-driven distribution of Android that adds features and support for new devices.

Open-source software also allows developers to “stand on the shoulders of giants” and create their own software. Witness Android and Chrome OS, which are operating systems built on Linux and other open-source software. The core of Apple’s OS X – and therefor iOS – was built on open-source code, too. Valve is furiously working on porting their Steam gaming platform to Linux, as this would allow them to create their own hardware and control their own destiny in a way that isn’t possible on Microsoft’s Windows.


This isn’t an exhaustive description – entire books have been written on this subject – but you should now have a better idea of what open-source software actually is and why it’s useful to you.

Chris Hoffman is a technology writer and all-around computer geek. He's as at home using the Linux terminal as he is digging into the Windows registry. Connect with him on Google+.

  • Published 11/28/12

Comments (17)

  1. indianacarnie

    Well written informative article. Thanks!

  2. C1pTr

    Very interesting, I just learned something more.
    Thank you very much.

  3. Ankur

    very well written articles. Hope more people encourage open source.

  4. mhenriday

    Good job of explaining a term which is more complicated than it may seem on the surface. Kudos to Chris and to How-to Geek !…

    Henri

  5. Surge

    So THATS what GPL meant! In my opinion, GPL is more “free”, because why should you take someones hard work and then make people pay for it??
    Very well written article with alot of information!

  6. cam2644

    Well written.Congratulations.Open Source is the real force behind the internet and long may it continue.

  7. Beto

    To make adifference between “as in Freedom” and “as in beer”, sometimes in English you can also find the old Latin/Spanish words “libre” (do what you want with it) and “gratis” (do not pay any money for it)

  8. TheFu

    Golf clap. Nicely covered, if folks read the entire article.

    Lots of marketing people at proprietary software companies have tried to take of the “free software” title. They do this to confuse everyone. “Free software” is not always the same as “Open Source software” and neither are the same as “Free/Libre Open Source Software.” It gets confusing.

    There are hundreds of different “OSS” licenses which further confuses everyone. Which is best for you personally or your company are probably different. If you work for a proprietary software company, you should be very afraid of OSS, FOSS, and FLOSS.

    I used to believe that GPL was the best answer for everyone, until my company wanted to use some software to interface with proprietary libraries. We were able to convince RMS that an LGPL license was necessary for that code to be useful. These days, I’m more inclined towards the BSD or Apache or MIT licenses, though the GPL, LGPL and AGPL are good for personal needs.

    If you don’t think software licenses impact your lives, know that many fantastic software solutions are not able to be leveraged due to software licenses even for Free and Open Source software. ZFS is an example that I’d love to use, but I’m unwilling to compile it for every kernel and on every machine to use it myself. The FUSE version is so very slow as to be unusable. There are many other examples. Software licenses matter.

    Personally, I’ve always been confused by the “as in freedom, not as in beer” statement. What does that really mean? There has to be a clearer example and catch phrase to make the point.

  9. Frank

    my favourite poster on a friend’s kitchen wall –

    ‘Free Beer !
    [photo of a nice foaming glass of amber]
    – Tomorrow … !’

    (which – at risk of labouring the point but explained for those who might miss it – never comes …)

  10. louie2114

    I have been an advocate of open-source software and programs. Very well said!

  11. Robynsveil

    Another way to look at it – perhaps not quite valid, but I like it! :D – is that with Open-Source software, you become part of a community. With closed-source, you remain a customer.
    Community member.
    Customer.
    Each has distinct identifying characteristics. Unfortunately, people new to Open-Source come in with a “Customer” mindset. They don’t “get” Open-Source. They don’t see themselves as part of a community. And so, you get customer-like complaints and criticism of innovations and design decisions of… geez, free-to-download software. What do you want: your money back???

    Indeed, proponents for *Closed-Source* software are usually much more adamant adherents to… what, exactly? They defend the OS-developer as if they’d been paid to do so, dismiss valid objections and glaring issues as trivial and castigate Open-Source enthusiasts as being cult-like.
    And yet, they’re customers. They have no access to anything: they can’t change the code, tailor the build, tweak the behaviour… nothing.

    We of the Open-Source community need to find a more community-like spirit, showing gratitude for those who *have* invested time and energy into products we use daily, and if we don’t like new visions of these developers for upcoming versions of their products, realise that the software *is* Open-Source.

  12. OldSalt

    Well, back in the day…there was Shareware and Freeware. Freeware meant just what it says Free. Shareware was basically…try this and send a donation if you like it. Some programs started off as Freeware, then if interest developed, became Shareware, then as people got hooked using it, Purchaseware. I still have my original Shareware version of McAfee although, I haven’t used McAfee in years.

  13. Matt Gilbert

    Nice article, and may even open the eyes of a few Windows users, curiosity is where it all starts, along with wanting something better.

  14. Rick S

    Excellent article. Hope it gets people to try Linux.

    Linux is like Windows 8 it drives you nuts till you learn how to use it then it works great.
    The part I like about Linux is if you don’t like one flavor it don’t cost you anything to try another.
    You don’t have to register or activate anything. About the only thing is a lot of the times you have to download a flash player. I find it annoying but doable with my tattered brain.
    If you screw up and your friendly geek ain’t around you just reinstall. I’m getting good at that. lol.

    I have Ubuntu Ultimate on my desktop and PCLinuxOS Lightweight X11 on my laptop. ( Very fast.)
    And Windows on my main desktop. ( Soon to be retired. )
    If you have an old retired computer to play around with it’s a perfect place to start. Have fun.

  15. thesilentman

    @Robynsveil,

    +1 and that is the reason that the open source community is awesome. They make you feel welcome and they say that ‘if something is perfect, break it down and make it better.’

  16. Skjold

    Summary:
    Open Source Software (OSS) — you can download its source code. Chiefly propagated by Open Source Initiative (OSI).
    Free as in “free beer” Software/Freeware — you can download and use it for free.
    Free as in “free speech”/Libre Software — you can redistribute, study and modify it. It is automatically open-source by definition. Chiefly propagated by Free Software Foundation (FSF).

    Some OSS licenses aren’t Libre, and that is why OSI and FSF disagree with each other. Similarly, OSS and Libre software both can be paid (e.g. Red Hat Linux).

  17. Skjold

    Libre software is also frequently called Free and Open Source Software (FOSS).

Enter Your Email Here to Get Access for Free:

Go check your email!