Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Succeeding with FOSS!


Published on

Make your successful open source software

Published in: Technology
  • Be the first to comment

Succeeding with FOSS!

  1. 1. Succeeding with FOSS! Make your successful open source softwarePHP DevCon 2012 Basis SoftEXPO 2012
  2. 2. For whom is this?software developers and managers who are considering starting an open source project, or who have started one and are wondering what to do now.
  3. 3. What is inside?✓ Introducing FOSS✓ Getting started✓ Technical Infrastructure✓ Social Infrastructure✓ Managing Volunteers✓ Money!✓ Packaging, Releasing, and Daily Development✓ Licenses, Copyrights, and Patents
  4. 4. What is FOSS anyway!Free and Open Source SoftwareNow lets break it down
  5. 5. the "free software" senseWhat do you think about the term ‘Free’?
  6. 6. Free Vs. Open Sourceall free software is zero-cost, but not all zero- cost software is free- Able to get the source code?- Have the right to modify or redistribute it?
  7. 7. “free as in freedom” – Stallman
  8. 8. Got Some Freaking Ideas!!! How to get started?
  9. 9. Getting Started
  10. 10. Hell yeah! Getting started
  11. 11. The hardest part about launching a freesoftware project is transforming a privatevision into a public one
  12. 12. How?
  13. 13. Choose a Good Name Relevant to project Easy to remember
  14. 14. Have a clear missionstatement The next thing people will look for is a quick description, a mission statement Should be on the front page, preferably right under the projects name
  15. 15. Is that free?
  16. 16. State That the Project isFree Like GIT did…
  17. 17. Features and Requirements List
  18. 18. Development Status People always want to know how a project is doing they want to know how actively it is maintained, how often it puts out new releases, how responsive it is likely to be to bug reports, etc.
  19. 19. Development Status Alpha and Beta The term alpha usually means a first release, with which users can get real work done and which has all the intended functionality, but which also has known bugs. The main purpose of alpha software is to generate feedback, so the developers know what to work on. The next stage, beta, means the software has had all the serious bugs fixed, but has not yet been tested enough to certify for release.
  20. 20. Downloads The software should be downloadable as source code in standard formats. Give a unique version number to the release
  21. 21. Communications Channels Forums, mailing lists, chat rooms, and IRC channels
  22. 22. Announcing go to, click on Submit in the top navigation bar, and fill out a form announcing your new project. Post to mailing lists or newsgroups: to direct people to your projects own forums for follow- up discussion (by setting the Reply-to header).
  23. 23. Announcing
  24. 24. Technical issues
  25. 25. Website Pick *.org as official home Centralized information from the project out to the public Bind together the other tools (the version control system, bug tracker)
  26. 26. Mailing Lists Reply-to:
  27. 27. Tools Mailman — PHPList -
  28. 28. SCM/ Version Control System combination of technologies and practices for tracking and controlling changes to a projects files, in particular to source code, documentation, and web pages If you have never used version control before, the first thing you should do is go find someone who has, and get them to join your project.
  29. 29. "We see you have expertise to makecommits in a certain domain, so go for it.""Not only are we asserting a limit on yourexpertise, were also a bit suspicious aboutyour intentions."
  30. 30. Version everythingAllow CommittersBrowsabilityUse branches to avoid bottlenecksCode reviewChange Log
  31. 31. Version Control Means You Can Relax
  32. 32. ToolsGIT (Distributed) - http://www.git-scm.orgSubversion (Centralized) -
  33. 33. Bug Tracker The tracker must be connected to a mailing list
  34. 34. Tools Redmine — Bugzilla — Flyspray — Trac —
  35. 35. RSS Feeds Spread your updates
  36. 36. Wikis A wiki is a web site that allows any visitor to edit or extend its content; "wiki" (from a Hawaiian word meaning "quick" or "super-fast")
  37. 37. Tools MediaWiki -
  38. 38. Free Hosting! yummy There are a few sites that provide free hosting and infrastructure for open source projects: a web area, version control, a bug tracker, a download area, chat forums, regular backups, etc. you get a lot for free; what you give up, obviously, is fine-grained control over the user experience.
  39. 39. Tools GitHub (Git)- Google Code Hosting (Subversion and Mercurial ) BitBucket (Git and Mercurial: integrates with JIRA, Jenkins, Pivotal Tracker) - Springloops (Git, SVN) - http://
  40. 40. Get your codes intosocial & political issues
  41. 41. forkability the ability of anyone to take a copy of the source code and use it to start a competing project, Good or Bad? if fewer than half of the developers are in favor?
  42. 42. Benevolent Dictators
  43. 43. Benevolent Dictators The benevolent dictator model is exactly what it sounds like: final decision-making authority rests with one person, who, by virtue of personality and experience, is expected to use it wisely.
  44. 44. Democracy "Wait, I didnt agree to that. We need to hash this out some more." "I assume we all agree that this bug needs to be fixed, and that this is the way to fix it." "Time to vote"
  45. 45. Democracy
  46. 46. Angel Volunteers
  47. 47. Getting the Most Out ofVolunteers Why do volunteers work on free software projects? " hey! you do this Vs. who can do this?" "Would you be willing to look at this bug?" "Follow up" Use "Praise & Criticism" Use "Automation" i.e. testing
  48. 48. Share Management Tasksas Well as Technical Tasks Translation Manager Documentation Manager Issue Manager FAQ Manager
  49. 49. Committers, who? will bring the best results for the code? "If you have 100 committers, 10 of whom make large changes on a regular basis, and the other 90 of whom just fix typos and small bugs a few times a year, thats still better than having only the 10. "
  50. 50. CreditCredit is the primarycurrency ofthe free software world
  51. 51. Money! earnings orspendings
  52. 52. why open sourceprojects get funded? Everybody likes a prime idea
  53. 53. Corporate funding of free softwaredevelopment is not a new phenomenon Sharing the burden Augmenting services Example: CollabNets support of Undermining a competitor Example: Marketing - think image, think brand value Dual-licensing Example: MySQL and Sleepycat Donations (donation button, mugs, T-shirts) Example:
  54. 54. Money Cant Buy YouLove Hey! Mr. Chowdhury! we dont want your so called company branding in our project
  55. 55. Google Summer of Code For students:
  56. 56. Kickstarter Kickstarter is the worlds largest funding platform for creative projects. Every week, tens of thousands of amazing people pledge millions of dollars to projects from the worlds of music, film, art, technology, design, food, publishing and other creative fields.
  57. 57. Packaging, Releasing, andDaily Development Release Numbering Release Branches - always use a release branch Maintaining Multiple Release Lines
  58. 58. Licenses, Copyrights,and Patents
  59. 59. Choosing a License andApplying It The "Do Anything" Licenses If youre comfortable with your projects code potentially being used in proprietary programs, then use an MIT/X-style license ( The GPL If you dont want your code to be used in proprietary programs, use the GNU General Public License (http://
  60. 60. Applying a License toYour Software You dont need to include the actual text of the license there; just give the name of the license, and make it link to the full license text on another page. The software itself must contain the license The standard way to do this is to put the full license text in a file called COPYING (or LICENSE)
  61. 61. The GNU GPL says to put a noticelike this at the top of each source file Copyright (C) <year> <name of author> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <>
  62. 62. Dual Licensing SchemesPatents
  63. 63. Who am i? m a hossain tonu @mahtonu
  64. 64. Writing a Bookcoming this march
  65. 65. i dont have any licensing issues with theseslides, cool!Thanks :)questions?
  66. 66. ReferenceProducing Open Source Software - Karl Fogel