The business behind open source

1,678 views

Published on

A discussion about various techniques and mechanisms for generating revenue in and around open source projects.

This presentation uses the Cake Software Foundation (http://cakefoundation.org) who own the rights to the CakePHP framework (http://cakephp.org) as an example, and how a separate company (Cake Development Corporation http://cakedc.com) works with the Cake Software Foundation, but as a separate entity to generate money, and pay employees to with with and on open source software.

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

No Downloads
Views
Total views
1,678
On SlideShare
0
From Embeds
0
Number of Embeds
797
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - Not Begging -> just make people aware that if they want to donate, there is a mechanism to do that, and its a great way to enable non-developers to contribute\n
  • - Not Begging -> just make people aware that if they want to donate, there is a mechanism to do that, and its a great way to enable non-developers to contribute\n
  • - Publicity -> People involved in investing are in contact with business networks to extend awareness about the project\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - Nightingale example?\n- CakePHP is a perfect good example \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • The business behind open source

    1. 1. The business behind open source
    2. 2. Graham Weldon• PHP developer, 10 years• Once-was-a-java-developer• @predominant• http://grahamweldon.com• Working: CakeDC• http://cakedc.com
    3. 3. MoneyThe primary motivator
    4. 4. What can generate revenue? Often project specific
    5. 5. Indirectly• Making money directly from open source is difficult• Make money by operating your business along side your project• Allow the project to grow and evolve with the community
    6. 6. Support• The most obvious• Premium support for businesses and individuals• Utilise high speed Internet for video sessions and screen sharing
    7. 7. Development• Build in and around your project, for clients• Custom software• Closed source (Yes, I said it)
    8. 8. Training• Educate users • Leads to better use, more contributors• Provide courses aimed at various levels• Again use high speed Internet to perform remotely
    9. 9. Certification• Might not suit all projects• Offer professional structured testing systems to qualify users of a high standard• Offer certification as a "badge of merit" publicly
    10. 10. Certification• Might not suit all projects• Offer professional structured testing systems to qualify users of a high standard• Offer certification as a "badge of merit" publicly Achievement Unlocked Zend Certified Engineer Achievement Unlocked Certification for CakePHP 1.3
    11. 11. Donations• Its not begging• Method of giving back to the project for people that cant contribute• Encourages others to donate• Optionally allow donors to publicly list themselves
    12. 12. Donations• Its not begging• Method of giving back to the project for people that cant contribute• Encourages others to donate• Optionally allow donors to publicly list themselves I Donated to CakePHP!
    13. 13. What doesnt work? Common mistakes
    14. 14. People code for me, for free• Not going to happen if thats the "attitude"• If the focus is more on your business acquiring free developers, than making a great product that will entice developers you may need to rethink your motives• Open source != free labour
    15. 15. Wrong Approach“Communities don’t rally around closedsource companies to prolong the existenceof failed companies or projects”
    16. 16. Wrong Approach“No-one wants to be a lackey to acommercial open source project,contributing their time to further somecompanies interests.”
    17. 17. The idea is enough• I have a great idea• Someone will help me bring it to fruition• This is not how to get people interested• Everyone had great ideas• What separates us, is some have the drive to realise those ideas
    18. 18. Nightingale
    19. 19. Examples• Nightingale http://getnightingale.com• Ideas only• Focused on processes and orgnaisation• Still failing to produce anything• No focus, no direction
    20. 20. Example: Xara
    21. 21. Examples• Xara Xtreme http://www.xaraxtreme.org/• Initially commercial• Wanted community help for port to Linux• Not all the source released• Not always an issue, but was in this case
    22. 22. Examples• Xara’s approach • We provided the source code • You provide us with your developer time• Communities don’t work this way
    23. 23. Examples• Xara’s response • Community complained about missing CDraw source • Xara persisted with CDraw closed source • Essentially telling the potential community that their concerns were wrong• Xara is considered “stagnant” since 2008
    24. 24. How an open source project starts ... or more correctly, how it has always existed, and you identify it
    25. 25. How a project starts• Successful projects• Existing implementation, open up to community• Start working on a solution to a problem• Some application/project that motivates you
    26. 26. Important Milestones• Have a product for people to download• Roadmap to show where you want to go• Source code from the beginning• Simplify feedback and input mechanisms
    27. 27. Bootstrap• Have “something” available• Something useful• Even something wrong• Its a place to begin, and comment
    28. 28. Resources• Website• Mailing List• Bug tracker• Wiki, or similar• Source view / download• Realtime Chat (IRC)
    29. 29. Generating interest Building hype
    30. 30. Social• Get out and talk to people about what you are doing• Dont be afraid to share an unpublished idea• Get people interested• Get feedback first hand• User Groups
    31. 31. Social• People retain interest in a topic if they can associate a real life relationship with it• Easier to communicate complex ideas
    32. 32. Playing fairDont alienate the volunteers
    33. 33. Money cant buy me love• Play by the same rules as volunteers• Motivate people to contribute through paying salaries• Dont let that get confused with control rights
    34. 34. Separate the entities• Operate the open source effort as a separate entity• Provides visible business separation• Gives confidence and assurance to those not working for the business
    35. 35. Example: CakePHP• Product: CakePHP, under MIT License• Cake Software Foundation "owns" CakePHP• Contributed to by a group of volunteers• CakeDC is a commercial business that hires some of the volunteers for work on client projects• CakeDC provides code back to CakePHP
    36. 36. Careful balance• Make it known what "hat" you are wearing• Business cannot be the key motivating factor for the projects development• There are many ways to support a project beyond code
    37. 37. What Project? Choosing a project
    38. 38. Useful, engaging, interesting, innovative• The project should be something useful to some business need• You should have a personal interest in the projects goal• Solve an existing problem, or solve an old problem in an interesting way• Create something new
    39. 39. Types of projects• CakePHP• MySQL• Subversion• Linux
    40. 40. Community and public image(its almost "marketing"... *shudder*)
    41. 41. Community appeal• Your project should fill a need that people have, and can build on.• Allow them to take ownership of something• Credit where credit is due• Kudos where kudos is due
    42. 42. Youre being watched• The world is watching• Dont say negative things about your competitors• But... Benchmarks and facts are okay
    43. 43. Participate and engage• Visit your community• If its larger enough, consider starting a user group• If its going global, consider a conference• Its difficult to measure the benefits gained from people that meet and talk about your project in person.. Almost invaluable
    44. 44. Communicate• Learning to communicate effectively can be a better long term goal than programming• A good communicator can effectively coordinate developers and manage a project• Dont just talk lots. Learn to speak and write correctly
    45. 45. Communicate• Commit messages• Social media• Mailing lists• Blog posts• Documentation
    46. 46. Bad communication• 1337 speak / Trendy short form• Vague• Aggressive• Dismissive
    47. 47. Good communication• Appreciative• Correct punctuation• Correct spelling• Correct grammar
    48. 48. Questions,Comments?

    ×