Introduction to        Open   Source, Apache  and Apache Way           Srinath Perera Ph.D. Senior Software Architect, WSO...
Outline                                                     • Introduction to                                             ...
Open Source Market Share• Apache (60%)• Linux (Servers 16%)• Firefox (25%)• Tomcat and most of  middleware• Android (43%)•...
What is Open Source?• Most commercial software does  not distribute the source  code, and developed and  managed in a clos...
How does a Open Source Work?• Open code repository (SVN or  Git etc.)• Two parts of the community   – Developer Community ...
History of Opensource• 1970s – UNIX, Emacs• 1982 - TeX• 1984-85 - GNU project and  Free Software Foundation• 1990 - GNU pr...
Why People Contribute?• As a way to improve your profile  (looking for a Job)• To gain experience• To work with “like mind...
• "If a tree falls in a  forest and no one  is around to hear  it, does it make a  sound?”• “If a open source  project was...
Why People use Open Source                 Software?•   It is cheaper•   It is better•   Because it is open source (Religi...
History of Apache• Apache HTTP Server development started on  1994 based on NCSA HTTP Server• IBM Stop developing their HT...
What is Apache?• It is named after “Native American Nation”  and “A Patchy Server”• Apache is not a group sharing a server...
What is Apache?  • Framework        – Legal        – Social        – Infrastructure  • Projects        – 97 top level proj...
What Apache Do?• Let developers do what they do  best• Open source vs. source open• Everyone is equal, a volunteer  (no pa...
Apache Project• Code/SVN – this is the code repository• JIRA – Record of known and fixed bugs• Mailing list  – Developer L...
How Apache Project Works?
Apache License• It is very “Open License”• You can change and redistribute• You can do anything pretty much, just keep  th...
Apache vs. GPL License• Both allow   – Free use and Changes (privately)• Apache can be  changed, combined and  redistribut...
Community• Community    – Developer    – User• Community helps each  other    – Even new people can      help others on ho...
Open source vs. Source Open(Giving            up control)• Open source is little bit  more than opening up  the source.• I...
ASF Governance structure -   Project, PMC, Broad
Communication and taking decisions• Rule 1: “Giving up  control” is part of the  deal• Rule 2: Public Mailing  lists. If i...
Voting Process• Ask for a “Vote” in the list.• Users vote as   – -1 : We must not do this.   – -0 : I do not like it, but ...
Veto forces Discussion• Idea of Veto is to  force people to  discuss and  resolve                       http://www.flickr....
Avoid Undue influence• Lot of cooperate  users/ developers• Avoid one group  controlling• Achieved through  diversity• Ove...
Meritocracy• Apache does not recognize  organizations, rather only  individuals   – Individuals holds Any apache     posit...
How to Start?• Try things out• Join the user list• Read, Read ..• Start by helping  others• Fix bugs and patches• Talk, an...
How to Bring a Project in to Apache• Submit a Proposal to Incubator• If accepted, join the incubator. Will have a  champio...
ApacheCon, Hackathon, Roadshow• Apache Con (generally  every year at US and EU)  gathering of Apache  developers and users...
This may sounds easy ..• But it takes years and lot of  work to build a successful  open Source project• It is not a dump ...
Questions?Copyright by romainguy, and licensed for reuse under CC License    http://www.flickr.com/photos/romainguy/249370...
Upcoming SlideShare
Loading in …5
×

Introduction to Open Source, Apache and Apache Way

9,766 views

Published on

This is a introduction to Open Source and Apache Way. I did talk at Apache Bar Camp 2012 at Engineering Faculty, University of Peradeniya

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,766
On SlideShare
0
From Embeds
0
Number of Embeds
8,016
Actions
Shares
0
Downloads
46
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introduction to Open Source, Apache and Apache Way

  1. 1. Introduction to Open Source, Apache and Apache Way Srinath Perera Ph.D. Senior Software Architect, WSO2 Inc.Member, Apache Software FoundationVisiting Faculty, University of Moratuwa Research Scientist, Lanka Software Foundation
  2. 2. Outline • Introduction to Open Source • What is Apache? • Composition of a Project • How it work? • Conclusionphoto by John Trainoron Flickr http://www.flickr.com/photos/trainor/2902023575/, Licensed under CC
  3. 3. Open Source Market Share• Apache (60%)• Linux (Servers 16%)• Firefox (25%)• Tomcat and most of middleware• Android (43%)• Even Microsoft looking favorably at Opensource projects• There are lot of open source projects bundled inside the proprietary Copyright kafka4prez and licensed for reuse under CC License products , http://www.flickr.com/photos/kafka4prez/198465913
  4. 4. What is Open Source?• Most commercial software does not distribute the source code, and developed and managed in a closed world.• Idea of open source is to have the code in the open, and to improve it though volunteer “There is no delight in contributions using “open development” owning anything• Idea is that the project becomes unshared.” a eco-system Seneca (Roman philosopher, mid-1st century AD) – More ideas – More developers – More Testers – More Bug fixers
  5. 5. How does a Open Source Work?• Open code repository (SVN or Git etc.)• Two parts of the community – Developer Community – User Community• Communication through Mailing lists / IRC Channel – Develop mailing list – User mailing list• Bug tracking database to track errors (Jira, Bugzilla)• People submit improvements as patches through Jira etc. Committers have write access to repository Committers review and apply patches, and when you submit lot of them, they will make you a committer.
  6. 6. History of Opensource• 1970s – UNIX, Emacs• 1982 - TeX• 1984-85 - GNU project and Free Software Foundation• 1990 - GNU project almost complete .. well not OS• 1991 - Linus Torvalds announce Linux, Phython• 1993 - Net BSD and Free BSD• 1994-95 - Linux 1.0 released• 1995 - Apache, KDE, PHP, Ruby• 1997 - Genome http://www.geograph.org.uk/photo/916456• 1999 Linux 2.2, OpenOffice http://www.fotopedia.com/items/flickr-3320704544• 2003 - Firefox, Android
  7. 7. Why People Contribute?• As a way to improve your profile (looking for a Job)• To gain experience• To work with “like minded” People• To be part of something bigger• To be a “Geek”• As a Job – if you a well known open source developer, chances are that you will get payed for contribution• As a competitive strategy Copyright U. S. Fish and Wildlife Service and licensed for reuse under CC License , http://www.flickr.com/photos/usfwsnortheast/4754624921 and Copyright WxMom and licensed for reuse under CC License , http://www.flickr.com/photos/wxmom/1359996991.
  8. 8. • "If a tree falls in a forest and no one is around to hear it, does it make a sound?”• “If a open source project was developed, but no one used it, did it exists?”http://www.geograph.org.uk/photo/1842872
  9. 9. Why People use Open Source Software?• It is cheaper• It is better• Because it is open source (Religiously)• More visibility into the code, better security, auditing• If there is a problem, I can fix it• More control over releases, roadmap• Patches become available faster• Easy to understand how it works• Can fork the code if needed• Not own by one person, less risk to depend on it.• Do not have to maintain the code
  10. 10. History of Apache• Apache HTTP Server development started on 1994 based on NCSA HTTP Server• IBM Stop developing their HTTP Server and start using Apache• Apache Officially established at 1999• June 2010 – 291 Members, 2300 committers, 75 top level projects, 400+ mailing lists and about 2500 emails/day
  11. 11. What is Apache?• It is named after “Native American Nation” and “A Patchy Server”• Apache is not a group sharing a server• It is a community of developers and users
  12. 12. What is Apache? • Framework – Legal – Social – Infrastructure • Projects – 97 top level projects – 50+ incubating Projects – 2500 commiters .. About 400 membersCopyright Jeff Kubina and licensed for reuse under CC License, http://www.flickr.com/photos/95118988@N00/416015918
  13. 13. What Apache Do?• Let developers do what they do best• Open source vs. source open• Everyone is equal, a volunteer (no payment)• All technical decisions are public• Harder you work, louder your voice will be heard• No money, donation of people/time and H/W http://suttonhoo.blogspot.com/2010/03/what-happens-when-father-of-analytical.html
  14. 14. Apache Project• Code/SVN – this is the code repository• JIRA – Record of known and fixed bugs• Mailing list – Developer List – User List• Automated Build• Website / WIki
  15. 15. How Apache Project Works?
  16. 16. Apache License• It is very “Open License”• You can change and redistribute• You can do anything pretty much, just keep the license.• Can be used commercially• However, ownership of the code has to be donated to Apache
  17. 17. Apache vs. GPL License• Both allow – Free use and Changes (privately)• Apache can be changed, combined and redistributed• If GPL is changed or combined, results must be GPL• Two Philosophies – “I need as many to use it” vs. “You cannot make money” – Business Model :Sell support vs. Duel License – I am not going to argue either way (at least try not to). It is your own decision. photo by hans s on Flickr, http://www.flickr.com/photos/archeon/2359334908/
  18. 18. Community• Community – Developer – User• Community helps each other – Even new people can help others on how to install stuff etc.• Every decision is taken in the mailing list http://www.fotopedia.com/items/flickr-2548697541 ,• More you work, louder you will be heard • Diversity requirements• Never break the build – – People from different this will drive most nicest Organizations developer crazy – No ganging up to beat someone
  19. 19. Open source vs. Source Open(Giving up control)• Open source is little bit more than opening up the source.• Initial developers has to be able to give up control and welcome other’s ideas and help http://www.flickr.com/photos/7726011@N07/4079868523/
  20. 20. ASF Governance structure - Project, PMC, Broad
  21. 21. Communication and taking decisions• Rule 1: “Giving up control” is part of the deal• Rule 2: Public Mailing lists. If it did not happened in the list, it did not happen. No private decisions.• Rule 3: Conflicts are resolved through Voting with a “Veto”• Rule 4: Every one is a photo by Todd Anderson on volunteer Flickr, http://www.flickr.com/photos/toddography/12034661 – “Thanks for /, Licensed under CC volunteering”
  22. 22. Voting Process• Ask for a “Vote” in the list.• Users vote as – -1 : We must not do this. – -0 : I do not like it, but if you really know what you are doing – 0 : Neutral – 0+ : I think it is a good idea – +1 : I support it• Note that -1 means a veto – That means it cannot be done http://misterbijou.blogspot.com/2007_03_01_archi ve.html – But veto needs explanation and • When to ask for vote? willingness to code an alternative approach – Commit and review – Code can be vetoed, but not releases – Review and commit• Minimum of 3 votes + wait for 72 hours – Decided based on the impact
  23. 23. Veto forces Discussion• Idea of Veto is to force people to discuss and resolve http://www.flickr.com/photos/novecentino/2596898279/, Licensed CC
  24. 24. Avoid Undue influence• Lot of cooperate users/ developers• Avoid one group controlling• Achieved through diversity• Oversight by the board and members http://www.artelista.com/ypobra.php?o=19550
  25. 25. Meritocracy• Apache does not recognize organizations, rather only individuals – Individuals holds Any apache position even when they change the Job etc.• Each individual are treated solely based on his merits to the project alone http://www.public-domain-image.com/sport- public-domain-images-pictures/canoeing-and- kayaking-pictures/lone-canoe-on- water.jpg.html
  26. 26. How to Start?• Try things out• Join the user list• Read, Read ..• Start by helping others• Fix bugs and patches• Talk, and explain http://molenda.us/photos/hockey-2006-12- 09/_DSC9580-r.html
  27. 27. How to Bring a Project in to Apache• Submit a Proposal to Incubator• If accepted, join the incubator. Will have a champion (who has to be an apache member) and mentors.• Receive feedback and improve• When project has matured and built a community around itself, it graduates.
  28. 28. ApacheCon, Hackathon, Roadshow• Apache Con (generally every year at US and EU) gathering of Apache developers and users.• Hackathon – developer gets together (F2F or remotely) and work on specific parts of the project. A concentrated effort.• Roadshow – something like today’s event
  29. 29. This may sounds easy ..• But it takes years and lot of work to build a successful open Source project• It is not a dump and run for your code• Community is the key .. http://www.flickr.com/photos/mariachily/5250487136, Licensed CC
  30. 30. Questions?Copyright by romainguy, and licensed for reuse under CC License http://www.flickr.com/photos/romainguy/249370084

×