What is open source? Licensing, history, and more

No readers like this yet.
Beginners to Open Source, code background

Opensource.com

Recently, I had the pleasure of attending a talk by Gina Likins from Red Hat at the 2015 Consortium for Computing Sciences in Colleges (CCSC): South Central conference about teaching open source.

Open source is...

Gina started by asking the audience how many people in the room teach open source? No one raised their hand! That means Gina had to start with the background of what open source is—and, she says it is like a cookie (yum). When you bake a cookie you can share the cookies and the recipe with your friends and family. If one of the people you share the recipe with is allergic to nuts and the recipe calls for nuts, then that person can alter the recipe. There is also the potential for people to take the recipe and improve upon it. Now, of course you can go to the store and buy cookies instead of make them, but you wouldn't know for sure all of the ingredients of these store-bought cookies. And, it would be hard to replicate them. If you tried, you would run the risk of being sued for sharing proprietary cookies.

Another example of open source: You wouldn’t buy a car with the hood welded shut, so why do we buy proprietary software? If you can’t see what’s going on and see what’s happening under the hood then you’re stuck with the car exactly the way it is and that might not be so great. While some people are fine with that, computer geeks shouldn’t be. We should want to get in there and tinker with it.

Licensing

It’s important to understand copyright. Gina shared a pretty flower drawing, which is automatically protected by a Copyright license, so she changes it to a Creative Commons license. What’s the difference between open source and free and open source software? The difference is that the free license always requires that you share what you do under a free license. So, if you’re under an open source license and you make a modification you can change the license. If you’re under a free license you don’t have that option—the license must stay the same.

History of open source

It’s important to know where the magic of open source comes from. In the 50s software and hardware came bundled together. In the 60s that changed because the Department of Justice thought that bundling hardware and software was monopolistic. In 1983, Richard Stallman launched the GNU project which was the beginning of the free and open source movement. Then, in 1989, the first GPL (GNU General Public License) was released.

This bit of history is the minimum that every computer science graduate should know! Especially the understanding open source licensing because we need to know what rights people have to use our software.

Fun stats

90% of Fortune 500 companies use open source software.

The governments of all 50 states in the United States use open source software.

76% of today’s developers use open source tools.

For students

Students need to know about open source so that they’re ready when looking for a job. By learning open source, a student learns to code from others by working in a virtual team and collaborating. By working on an open source project, studnets learn how to learn because no one is there to hold your hand, you have to learn a lot yourself. This is how students learn how to problem solve, ask smart questions, and read documentation. By teaching open source, students get to work on real code, fork that code, and talk about why that was a good/bad idea.

Writer's note: I personally don’t remember any of the programs I wrote in my computer science classes; none of them had any benefit to me or were saved for me to go back and look at. Students working on open source get to know that they’re working on real code being used by real people.

Contribute to a project

If you’re looking for a project, take a look at Humanitarian Free and Open Source (HFOSS) projects because these attract a more diverse audience. They are also a great way to get more women involved. Working on a project is an important skill to teach students because you’re never ever going to work alone in the real world. Furthermore, the likelihood that you’ll be writing your own code is very small. Usually you’ll be adding to a project that already exists and learning how to communicate with other developers.

Working on an open source project will also allow you to make connections with industry contributors; students will find this of big help when it’s time to find a job, and it’s a way for them to prove themselves!

The wild west of open source

How do we differentiate open source from proprietary? We already talked about licenses, but there are other things to know about, like the open source principles and the open source community.

The principles include:

  • Open exchange: Communication is transparent
  • Participation: When we are free to collaborate, we create
  • Rapid prototyping: Can lead to rapid failures, but that leads to better solutions
  • Meritocracy: The best ideas win
  • Community: Together, we can do more

All that sounds awesome right? Well, there are some catches. First off, if you are a teacher, you’re used to knowing everything about the thing you’re teaching. Open source projects are scary because you’re not going to know them inside and out. There’s an opportunity here that by putting yourself in this role you teach your kids that it’s okay to not know everything and show them how to ask the right questions and learn how to learn. This is how we grow: even if our code isn’t accepted, we grow. Learning that will make it so that students can learn any system.

Next, contributing to open source may make you a stranger in a strange land. There is no manager or single person in charge many times, and it can be a bit of a wild west. This is not an environment you can control. You will be a guest. It won’t be like stepping into a classroom and saying: This is what we’re doing today. Also, occasionally someone in an open source community can be aggressive. With freedom and transparency comes opinions, and sometimes those opinions are not expressed politely. If there were an HR department in open source then some of these things wouldn’t happen, but that’s not how open source works. It’s like the Internet, it’s all open and anyone can say anything. The good thing is that as a teacher, you can help your students in these situations and tell them what is proper etiquette and what isn’t. You can learn more about etiquette in open source projects from Gina’s ApacheCon keynote.

"It’s amazing how wonderfully scary things can be," said Gina.

How do teachers move forward with open source as a partner? Check out POSSE: a conference to teach educators what they need to know so they can teach open source in the classroom. Also, check out TeachingOpenSource.org and sign up for the mailing list. Finally, be sure to explore OpenHatch for opportunities and tools to build your curriculum.

Revised from this post.

User profile image.
Nicole C. Baratta (Engard) is a Senior Content Strategist at Red Hat. She received her MLIS from Drexel University and her BA from Juniata College. Nicole volunteers as the Director of ChickTech Austin. Nicole is known for many different publications including her books “Library Mashups", "More Library Mashups", and "Practical Open Source Software for Libraries".

9 Comments

The "Licensing" paragraph says::

"What’s the difference between open source and free and open source software? The difference is that the free license always requires that you share what you do under a free license. So, if you’re under an open source license and you make a modification you can change the license. If you’re under a free license you don’t have that option—the license must stay the same."

This distinction between 'free' and 'open' is nonstandard. Open source and free software are essentially synonymous, 'free software' being an older and more politically charged term. The distinction described here seems to be getting at the difference between copyleft and permissive, the two main varieties of free software/open source licenses. Permissive licenses allow modifications to be under other, more restrictive licenses, but copyleft licenses require distributed modifications to be under the same license, in at least some circumstances, and oversimplifying somewhat. For example, the GPL is an open source license, but if you distribute derivative works of GPL-licensed software they must be licensed under the GPL.

Richard, you're right, it is the copyleft and permissive distinction that I was getting at. I used the terms "permissive" and "copyleft" as well, and in the future will stick with those (clearer) terms and not muddy the water with "free licenses." :-)

In reply to by fontana

Yep, the Licensing part gets it entirely wrong.

On the contrary, *real* free licenses do *not* require derivatives to be shared under the same license, e.g. BSD-style licenses. These licenses are OSI-approved just as the GPL and other copyleft licenses are. Another example is CC-BY: it's nearly as free as any license can get under most copyright laws, and it does not enforce a license on derivatives.

When you talk about freedom, you have to keep the goal of user's freedom. In this context, *real* free licenses *do* require derivatives to be shared under the same license, otherwise the code can be made proprietary and user's freedom taken away.
People must understand that the so called "permissive licenses" damage user's freedom and society.
Is like say that a society where everyone is free to kill anyone is a *real free* one, but I think no one would like to live there or consider it a free society :)

In reply to by Dominik George (not verified)

Thanks for the clarification. Please remember I was live blogging the event and might have missed things, but will do some more research before putting any of this info in to practice.

In reply to by Dominik George (not verified)

Interesting, I also felt like the licensing was oversimplified/incorrect. An open source license (OSI-approved) is a superset that includes all (I think) "free" licenses. Free in this sense often refers to copyleft, and the requirement that any derivative be shared under the same license. Permissive open licenses usually make no such requirement, are often simpler legally as they do not need to be concerned with what a "derivative work" is, do not suffer from compatibility issues, and may well be preferable when you primary goal is sharing, dissemination, reuse. They almost always require attribution, and the most simplistic example is CC-BY versus CC-BY-SA.

The debate between free and open can get pretty charged, personally I began my open source work as an advocate for free, but find the simpler, more pragmatic (IMHO) approach of permissive licenses better. Projects are about much more than licensing, but this is a key choice as you start a new project. It is interesting to note that academic open access publishing seems to have largely settled on CC-BY (in the STEM fields at least), Figshare uses CC-BY for articles and CC0 for data. Best practices are being established in many fields as sharing data becomes easier. One of the most important messages around licensing is to use one, and second to use an existing one rather than create your own (or add arbitrary modifications).

This is the first account to give 'the court' ...just gonna go out on a limb and guess you meant a US or California court for no reason but comic farce...'60s cred for giving a fey nod to bundling, immediately to be followed by RMS, as if neither the RAND Corporation's mil-std honesty in the early '50s (which contrasted honorably with anything that had a marketing department that didn't work on national/senate/etc. Committees) nor early RMS software freedom didn't put in hours countering everyone carting binders full of XML-ish licenses around. That made airbases weird clean through '03 (when keyfobs (full of SGML) and anticorruption had a big fight and eventually invited the OAS.)

So why (one might ask Gina) would we want to teach the licenses as opposed to particular projects, (mechanics, SPA and FOSS options et al?) I do not understand the curricular atomicity!
Links dropped from Nicole Engard's http://www.web2learning.net/2015/04/18/ccsc-sc-opensource/ article:
RedHat.com/posse/ Professors' Open Source Summer Experience; sucks up a weekend at the end of July on a continent near you.
teachingopensource.org Get other assets, plus in your students' language!
openhatch.org The nonprofit FOSS matchmaker and onramp.
I hope that rounds this out a bit?

The open source the majority of the users or the worst enemies of computers and many people have situations because the concept open as aabierto code are also quite criminals disguised as professional associate degree as a detective these are the same that takes the power of Open for bad Hector same enemies or just as they do dirty jobs to kill or cause any damage code
I'm here as president of open source plains No. 1 phone remove ubuntu or any other operating system dark Family In linux to engulf the innocent people with capabilities such as autism and still having problems getting me qun family has no regard Now redhat ubuntu touch firefox and became the greatest threat to law because such as rare systems linux bring demons Trojans malicious market what they use them to harass other users or give emotional harm or kill are the terrifying implications that brings is not open to this type of malicious person technology concept

People like your point here. It is attractive that there are such organizations like <a href="http://www.pureassignments.com/someone-do-my-homework-for-money.php">Pureassignments</a>. Its essayist helped me when I was in a container endeavoring to finish three assignments in the meantime. I named him stand out yet the best task, and he adjusted to it marvelously.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.