Open Source Software Licensing: Why it matters

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • AvnBlogFeed
    Site Moderator - Staff

    • Feb 08
    • 5537
    • 5.0

    #1

    Open Source Software Licensing: Why it matters



    Open-source software is essential to the functioning of our modern internet. It’s essential to all our modern technology. Open-source tools form the simple and functional building blocks that help power everything from TVs to ChatGPT, and it’s almost impossible to overstate the importance of the open-source movement in making software development accessible.







    Yet, understanding of open source software values is scarce. Companies and businesses will often ignore their licensing requirements, and even many developers aren’t aware of the licenses they operate under. Whether you’re a developer, tech enthusiast, business leader, or just an interested party, it’s important to respect the efforts of open-source developers and credit them for their contributions. As a developer or user of software, you could also open yourself up to lawsuits if using a license improperly.





    What is open source?

    Not another buzzword

    There are different definitions of open source, but they generally all hit on the same key points. To be open source, software must be freely available and members of the public are freely allowed to inspect, modify, and distribute the code at their discretion. This includes the sale or commercialization of any derived (i.e. enhanced) or aggregate (i.e. combining multiple bits of software) work that might be produced from open-source software. For example, if I use an open-source library for accurate timekeeping to write a great clock app for Windows 11, I’m free to charge users for my new clock app without reimbursing the writer of the library.



    We can look at examples of open-source software to show how widespread it is. Apache Kafka is an event streaming platform developed and open-sourced by the Apache Foundation. It’s been open-source since 2011. Kafka is now used in over 80% of all Fortune 100 companies, appearing in everything from ride-hailing apps like Uber to industrial manufacturing. It’s an essential technology that’s foundational to a number of large companies in a range of sectors.









    Source: Apache Foundation





    Who decides what’s open source?

    It’s important to be clear that there is no precise definition of open source. Open source is best thought of as a set of values for building and sharing software. Different organizations have different standards for what those values are. Red Hat-supported opensource.com describes the open source way, and the Open Source Initiative publishes its definition for considering a license open-source.






    Open source is a term that originally referred to open source software (OSS). Open source software is code that is designed to be publicly accessible—anyone can see, modify, and distribute the code as they see fit.









    Does open source only apply to software?

    Open source isn’t limited to software, though it did start with software, and refers to anything that people can freely modify, inspect and enhance. A model for a 3D printer published freely online could be considered open source, for example.





    What is a software license?

    Not what you need to drive a car

    A software license is a legal document distributed along with software that specifies exactly what it can and cannot be used for. This might include fees or reimbursement due to the developers (or other groups), and conditions of use. You might have seen software licenses labeled as EULA’s, i.e. an end-user software license. This license outlines the conditions of use that you, as an end user, are required to follow to use the software.



    Software falls into one of two categories; open-source and closed-source, depending on whether the original source code is released for anyone to inspect. Most closed-source software is released with a specific license designed for that software, which is often unique, known as a proprietary license.



    FOSS

    Free and Open source software (known as FOSS) commonly ships with one of several standard licenses designed either by the community or organizations committed to open-source ideals, like the GNU Project or Red Hat. Some of them are even written by NASA. Open source licenses are important because they make it easy for a developer to understand the restrictions they’ll be releasing their software under without having to employ a legal team (or their own expertise) to write a legally binding license. Different licenses allow different uses and place different restrictions on software. We specify Free and Open Source because not all open-source software has to be free.





    Types of software license

    Know your rights when writing software

    It’s not necessary to know the specifics of every license. Almost all open-source licenses will offer no warranty (i.e. no guarantees that the software works as intended) and include protection from liability for the developer. This is important to protect developers from litigation if products built using their software go wrong and do harm. For example, a car manufacturer using a FOSS library would be unable to sue the developer of the FOSS software if it malfunctioned and caused some of their cars to crash.



    We can generally categorize software licenses as either: Public Domain, Permissive, Copyleft or Proprietary. A fifth type is sometimes mentioned, LGPL or Lesser GPL, but this is less relevant except in specific applications. A public domain license is any entirely unrestricted code, while a proprietary license is one that restricts any copying, modification, or unauthorized distribution. For FOSS purposes, we’ll focus on permissive and copyleft licenses.









    Source: Snyk





    Permissive licenses

    Past the basics, licenses get more specific. Some licenses prohibit the use of FOSS software in other closed-source products, while others are almost entirely unrestricted. Licenses that permit free reproduction and modification of software with few or no conditions are known as permissive. The Apache and MIT licenses are both permissive licenses. They’re extremely short (the entire MIT license is shorter than this article) and place essentially no restrictions other than to protect the developer from lawsuits.



    Copyleft?

    A license is known as copyleft if it requires modified versions of the same software to use the same or a similar license. To return to an earlier analogy, if I wrote a Windows clock app using a great free timekeeping library that is licensed under the GPL, I would also be required to release my clock app under a GPL license. The idea behind copyleft is that free and open-source software will spawn improved and new versions of the same software, rather than acting as a launchpad for closed-source, proprietary versions later down the line.



    A good example of copyleft licensing is Bash (the default terminal prompt on many Linux distros), which is distributed with a GNU GPL license. This prohibits software that includes Bash from being used commercially in any closed-source product. You’re free to make money with a product using Bash, but the product must also be open source. As a consequence, any Linux distro that then includes Bash is also required to be licensed under GPL, and hence also open-source. This creates a pass-it-along effect on FOSS development. Copyleft is more restrictive than a permissive license, but can still be open source — unlike a proprietary license.






    copyleft (very simply stated) is the rule that when redistributing the program, you cannot add restrictions to deny other people the central freedoms. This rule does not conflict with the central freedoms; rather, it protects them.









    Copyleft controversy

    Copyleft licenses are often controversial, as they’re incompatible with proprietary licenses. The compatibility of a license refers to how licenses can be combined. If a product uses any GPL-licensed software, regardless of how little, it must also be licensed under the GPL. Even the slightest use of any GPL code makes it impossible to release closed-source software, a restriction that has proved controversial. In 2001 Steve Balmer, then CEO of Microsoft, called Linux a cancer due to its GPL license. It’s not possible to use GPL software in a product that is then released under a very permissive MIT license, for example.






    Linux is a cancer that attaches itself in an intellectual property sense to everything it touches









    Which license should I use?

    There are some great resources out there for making this determination for you. One of my favorites is choosealicense.com, which makes understanding different licenses simple and walks you through a question-based selection process. They also have resources for non-software licenses. If you want to write proprietary software or to make money from your code, then there are also some boilerplate proprietary licenses available (assuming your work will be released publicly). If you’re looking to release software freely, the MIT and Apache licenses are common choices.















    Violating a license

    Not everyone respects FOSS ideals

    While a license is legally binding, this binding is only as good as the enforcement. Open-source developers are, by definition, putting their work out to the world for free and hence there often isn’t money available for expensive legal battles or enforcement of their licenses. It often falls on organizations with a commitment to open-source to sue violators of a license, or the community to name and shame them.



    Many high-profile companies, from Tesla to TikTok, have publicly violated licenses. TikTok was recently accused of including code from open-source streaming software OBS in its Live Studio software without releasing the source code, a clear violation of OBS’ permissive GPL license. In 2018 Tesla was pressured to disclose some of its autopilot source code by the Software Freedom Conservatory following a GPL violation.



    Organizations like the GNU Project or GPL-violations.org try and police GPL violations, going after the highest profile offenders. Often, companies can respond to community backlash by either removing offending software or open-sourcing enough of the code that contains the licensed software to satisfy its requirements.



    How do I check for a license?

    It’s normally easy to find the license a bit of software is released under. Convention dictates that the license for software is included in a file named LICENSE in the root of a project’s repository (with no file extensions). Tools like GitHub can scan for this license, identify its contents and tell you a license in their GUI, including it in the repository information. The screenshots below are taken from Tesla’s Github.







    An essential cornerstone

    Open source software and the licenses that protect it are an unheralded but essential cornerstone of our modern world. Open-source developers often build the simple, foundational tools required for more complex products to exist and release them free of charge. Copyleft licenses help perpetuate this cycle, encouraging more companies to contribute to the open-source ecosystem. Free and Open Source Software is everywhere, penetrating almost every corner of every market where technology operates. Its success stories are almost endless, and understanding the ecosystem of licensing that promotes it is essential.






    ** (Disclaimer: This video content is intended for educational and informational purposes only) **




    More...
    Interested in creating an online community? How about growing one? How about profiting from one? Does it all seem so confusing, though? It doesn't have to be! Join SPJ Bulletin Communities to engage and network with beginner to seasoned online community managers just like you. Membership is free register today or login if you have an account.

Working...