Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Source Software Primer

Avatar for Andy Andy
March 23, 2012

Open Source Software Primer

An "open source software primer" for those that are new to OSS or how it works. Covers some of the basics (who can contribute to the code?) in a (hopefully) easy to read and understand manner.

Avatar for Andy

Andy

March 23, 2012
Tweet

Other Decks in Technology

Transcript

  1. Presented By The Rocky Mountain Innovation Center Open Source Software

    The Who, What, When, Why, Where and How Photo credit: http://www.flickr.com/photos/auroramixer/2622264212 This is an open source mixer, meaning you can find the instructions and all the parts you need to build this yourself (for free, minus cost of your parts) online. The website is http:// auroramixer.com if you feel so inclined!
  2. About These slides are meant to be read, not presented.

    If someone tries to present them - throw spoiled vegetables at them. If you want a presentable version, contact the RMIC. Photo credits are listed in the “Presenter Notes”. These slides are better off read, not presented. Why? Because it’s hard for your audience to read the slides AND listen to you at the same time. Better off giving them 100% of the information, not 50%.
  3. Open Source Software Open Source Software is often seen as

    the Wild, Wild West A place where anything goes A place where anyone can do what they want with software Photo credit: http://flickr.com/photos/arcticpuppy/2740392172
  4. Is that true? Open Source Software is really quite civilized

    There are rules and processes And etiquette Photo credit: http://flickr.com/photos/jenny-pics/4857788400
  5. A Brief History The “open source” model has long been

    a trademark of the scientific community i.e. Knowledge transfer via academic papers and studies It has existed in the software world for 40+ years Photo credit: http://flickr.com/photos/epitti/2370873167 From engineering to medicine, from art to music, there are many examples of an “open source” environment or mindset. Essentially, “open source” just means “I’ll share my knowledge or experience so someone else can benefit. Or improve it.”
  6. What is Open Source Software? Open Source Software (OSS) is

    computer software that is available in source code form for which the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change and improve the software. In non-Wikipedia speak, it is software that allows users rights they don’t have with many proprietary software packages. Users and developers can view the source code, build it on their machine, customize it (if needed), etc. The following slides will dive into more details about OSS.
  7. A Metaphor for OSS In the late 90s, a computer

    programmer named Eric S. Raymond wrote an essay entitled The Cathedral and the Bazaar. The essay is a look at how open source software is developed. It focused on Raymond’s experiences in developing open source software on a project named fetchmail and included his observations on the then-quickly-growing Linux operating system. Eric Raymond has a series of blog posts and other writings on OSS that are well worth reading. You can find them at http://www.catb.org/~esr/
  8. The Cathedral To Eric, the Cathedral was a software engineering

    process that was “top down” Ideas came from the top and only certain developers could make changes to the code It was open source, but limited in terms of participation In many cases, this also describes proprietary software Photo credit: http://flickr.com/photos/dannyford/5211972994
  9. The Bazaar The Bazaar was a bit different Projects were

    openly viewed and maintained over the Internet Code contributions could come from many sources A major benefit: “Given enough eyeballs, all bugs are shallow” Photo credit: http://flickr.com/photos/dynamosquito/2589857274 Most open source projects embrace the “Bazaar” style over the “Cathedral” style.
  10. Where do projects come from? Most projects are the result

    of one or two people and a few big ideas They often come about because a programmer needed something that was missing and built it themselves Linus Torvalds (pictured) is the creator of the Linux kernel, one of the most widely used OSS projects Photo credit: http://flickr.com/photos/randal-schwartz/3996403365
  11. The Rules In both Cathedral and Bazaar style approaches, only

    project committers (or maintainers) have the ability to make changes to the software. Additions and bug fixes may come from anywhere, but only the proper people allow them to take effect. The rules and etiquette for how this happens largely depends on the project, but in most cases it is an open process. For most OSS projects, you can see the list of committers on the project web page, or version control system.
  12. The Rules - Committing Changes Only project owners and key

    committers can make changes to the source code Project Owner Key Committers Source Code Repository
  13. The Rules - Accepting Changes From the Community Project Owner

    Key Committers Source Code Repository The Community The community submits patches, bug fixes and suggestions to the owners and key committers These must be vetted and approved before they can be introduced to the source code
  14. The Rules - Getting Ideas From the Users Project Owner

    Key Committers Source Code Repository The Community Users often submit requests for improvements or other ideas about the software These may be vetted and completed by either the community, or the project owner/key committers The Users
  15. The Rules - Becoming a Committer Project Owner Key Committers

    Source Code Repository The Community Some users or community members go on to become committers, or even project owners They are often heavy users or proponents of the software Typically, their ideas and code contributions are tested to ensure they have value A User Yay! Yay!
  16. The Rules - Branching a Project Project Owner Key Committers

    Source Code Repository Some users have radical ideas about how the software should work If the idea or change is rejected, the user can choose to copy the code and create a branch The community may or may not embrace a branch Branches become new projects and are the only way to add changes without permission The Community A User NO! Hi, I’m new here! ???
  17. The Legalities Because many people may contribute their ideas© as

    well as effort, there are a set of ground rules for how this is done Licenses define how the code may be used, modified and shared (or distributed) Certain licenses, such as the GNU Public License (GPL), are used to enforce the free (as in speech and as in beer) aspects of the software Other licenses, such as the Apache license, allow companies to reuse modified versions of the software without releasing those changes to the public
  18. Who uses OSS? Nearly everyone Google, IBM and Oracle provide

    resources (paid developers) to many open source projects Microsoft uses and contributes to open source projects, such as jQuery Many startup companies contribute to and use OSS
  19. Anyone else? Yes - The US Government and the US

    Department of Defense A 2009 memo from the DoD CIO emphasizes that “OSS can provide advantages” when updating software capabilities Also in 2009, the official home page of the White House, whitehouse.gov, began using Drupal, an open source content management system
  20. Is it viable as a business? Yes! SpringSource, a provider

    of open source software and services, was purchased by VMWare for $360+ million in 2009 10gen, creator of MongoDB, recently received $6.5mil in VC funding
  21. Thank You! Any Questions? If so, please contact the RMIC

    at [email protected] Photo credit: http://flickr.com/photos/dynamosquito/2589391119
  22. FOSS Is Being Embraced By People Of All Nationalities And

    Types FOSS is everywhere! This ad is for an open source developer conference Photo credit: http://flickr.com/photos/runa-sankarshan/2068833416