上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

如何创建一个成功的开源项目(45页).pdf

编号:91181 PDF 45页 3.06MB 下载积分:VIP专享
下载报告请您先登录!

如何创建一个成功的开源项目(45页).pdf

1、How to create a successful(in business and development)opensource project.2016 Computing conferenceMichael WideniusMySQL&MariaDB Erich S.Raymond&Linus TorvaldsGiven a large enough beta-tester and co-developer base,almost every problem will be characterized quickly and the fix will be obvious to some

2、one”or how Linus Thorvalds rephrases this“Given enough eyeballs,all bugs are shallow”This may be true for projects like Linux with 12,000 committers,but its not true for most open source projectsStatement from an open source PDF facility“Ive said it before and Ill say it again:Good engineers build g

3、reat technology;great engineers also create a sustainablebusiness model.Based on my 15 years of experience in open source,I know that its almost impossible to create a sustainable business model based on the Apache Software License used by OpenSSL.”Bruno Lowagies Online Gazettehttp:/ talk is forPeop

4、le wanting to understand how open source works.People wanting to create an open source project.People wanting to participate,drive or fork an open source project.People wanting to create a profitable company developing an open source project.Many of the slides are designed to be used as a checklist

5、if you ever want to drive an open source project or convince your company to do more open source.11 reasons open source is better than closed sourceBetter security,auditiablity(no trap doors and more eye balls)Better quality;Developed together with usersNo vendor lock in;More than one vendor can giv

6、e supportBetter customizability;You can also participate in developmentUsing open standards(no lock in into proprietary standards)Resource friendly;OSS software tend to work on old hardwareLower cost;Usually 1/10 of closed source softwareNo cost for testing the full softwareBetter documentation and

7、more troubleshooting resourcesBetter support,in many cases directly from the developersWhen using open source,you take charge of your own futureNote that using open source does not mean that you have to become a software producer!Open source,the good and the badOpen source is a better way to develop

8、 softwareMore developersMore spreadBetter code(in many cases)Works good for projects that can freely used by a lot of companies in their production or products.Its very hard to create a profitable company developing an open source project.Not enough money to pay developers.Hard to get money and inve

9、stors for most projects(except for infrastructure projects like libraries or deamon services).Top reasons for creating an open source projectSolving ones own personal problemsFor the company you are working(MySQL/PHP)As a research project,part of your hobby(LINUX)Re-license an existing closed source

10、 project to open source to get the benefits of open source(Netscape).To get more developers on an internal company tool/project(no money loss if Open Source)Wanting to earn money and at the same time do something good.Wanting to give back something to the open source community.Wanting to create a co

11、mpany and compete with the big guys with“the power of open source”.Developing Open Source software is in human natureor why Open Source worksYou use open source because its less expensive(and re-usable)You solve your own problems and get free help and development efforts from others while doing it.Y

12、ou pariticpate to increase your reputation(to get a new job?)You give patches back to not have to maintain them.There are of course people that participate because they belive in the open source cause or want to help others,but these are a minority(and most still gets paid for this).Before starting

13、a new open source projectCheck that if there is already an existing actively developed project.Its always better to participate than to do new project or a fork!If there are only old dead projects,do some research why they failed and learn from their misstakes.Sourceforge,Github and Launchpad is fil

14、led with dead projects.Find a company or a group of users that wants to work with you to define the scope of the project.You want to have users ASAP that are using the project in production!Its not just softwareThe most important part with open source is to create an active community!You also need(t

15、o interact with the community):Web pages(someone needs to design these)A forum or a knowledgebase,email lists,bug system.Documentation&localizationPackages,build system,mirrors(for downloads)Source code repositoryIn the beginning you can use github or launchpad to host the project and Open Build Ser

16、vice to build your project,but over time you will need more controll and do this yourself.You need a good team and active communityA designated active leader(Linux)or active leaders(MariaDB/PostgreSQL)that have the respect from the community.A group of good open Open Source Citizens maintaining the

17、community.People with good old time coding style standards that actively teach others and participate with the community.Active and passionate user and developer community around your product.Developers that is using the product daily in production.Developers that need to extend the product for thei

18、r own needs.Generally the quality of the product is defined by the technical leadersTransparency is critical for long time successAn open development model(all email list,discussions architecture,decisions should be open).Clear guidelines for how things are done and will be done.Clear license and bu

19、siness model.Extensive documentation.Be clear about your roadmap and release schedule.Good open review process of patches that enforces quality.Be transparent with your plans and let users influence them.Be open about your bugs,and when they will be addressed.Keep your promises!Communicate with your

20、 communityAttend conferences and talk about your product.Listen to what your users want and either do it or help them do it themselves.Make it easy for people to communicate with you and find information about your product!Ensure that most questions on your forums and email lists are answered.Unders

21、tanding that people who write the code owns the codeDont expect the community to produce any code.Recognize that the path for turning a user to a customer can be long,and dont let short term monetary interest distract your long term winning strategyBe good open source citizensBe open about your use

22、of external code-Share the fame!Provide quick feedback to providers(bug reports and fixes,code enhancements,ideas)Help others in forums(around your code,and around related code you know)Keep up a high ethical standard on the email lists/forums.Dont talk bad about competing projects.Fact based compar

23、ision is ok.Being a good Open Source Citizen will build trust in you and your product,and will pay off over time.Building a supportive Community later in the game is extremely hard-You should start day 1Release early-release oftenThis will allow your users to:Participate in the development early(man

24、y wants to!)Give you comments about your architecture.This is especially important when participating with another project.Give you early feedback for the features that the community would like to see in what you plan to do(often things you havent thought about)Do early testing;Developers are prepar

25、ed to test alpha code if the project is interesting!Participate in your project instead of doing a compeating patch/projectDont be afread to release code with bugs.Its perfectly fine to have some bugs in Alpha code!Make it easy to get and use your product!Release both binaries and source(if its your

26、 project)Aim that each release,including alpha,should be bug free enough to be usable in production by those that try it.People will first use your product and only start extending when they belive in it and its easier to extend it for their own needs then move to something else.Work with the distri

27、butions and cloud providers to get the product in there.Ensure that the product compiles and works on all major platformsUse a good open toolset for development(Sourceforge,Launchpad,githup or own)to make it easy for others to participate.The cost of open source products is not 0If you are depending

28、 on an open source products in your business,you should do your best to ensure it surives:Take support from the company producing the softwareIf there is a missing critical features you need:Create a team to develop them,together with the community and contribute the feature back to the projectContr

29、act the original developers to create the featureDo not wait for someone else to get it developed,as its likely to never happen or happen too late for you!If you are not contributiong in some form,the open source product may never evolve in the direction you want!Success/State of Open SourceApple wo

30、uldnt exist without open sourceMost servers are running an open source operating system.Much of the new technology,like solutions for big data,are open source.In 2007,before Iphone and Android,we said“Open Source is winning,its only the applications left”Desktop is getting better,but most new applic

31、ations for mobile are closed source:1.6M apps in Google play,1.5M apps for iPhone.F droid has only 1,700 open source apps.Doing business with Open SourceOpen Source is a philosophy and a development model.For some people even close to a religion.Open Source does not gurantee that you will get enough

32、 money to develop and/or support your product.The only open source companies thats done an IPO are RedHat,SourceFire and Hortonworks.Different kind of Open Source productsProducts developed by the community.Typically larger projects that are developed by many companies to solve their business critic

33、al needs or to embedd in their products.Linux,PHP,Apache,MariaDBProducts that are a tools for the company and released as open source to get more community development.A small team or company that is developing and driving an Open Source product as their main offering.These have often a hard time to

34、 compete with closed source software(not enough money for full time developement).MySQL,JBoss,Wordpress,most open source softwareQuestions to consider when creating a companyDo you plan for a virtual company(“no offices”)?Are you creating a company of equals?Should the company be owned by employees(

35、Hacking business model)?Do you want to concentrate on services or development?If development,what license to choose?Do you plan to have a big community or work with a few big companies?Do you plan to take in investors?If yes,then you need an exit plan.What business model to choose?Service companyMan

36、 powered services(support,training,consulting)Valuation 2 x revenueSoftware companyLicensing,Software as a service(SAAS),SubscriptionValuation 10 x revenue+X*number of usersTo succeed“big time”you need a way to force some of your users to pay!What is the final goal with the companySold on the market

37、Unpredictable future for product/employeesQuick,often high,profit for ownersGo public on stock marketOriginal owners can still be part of steering the companySomewhat unsure profit(as owners can typically only sell after 6 months)Owned by founders,employees(and investors)Stable predictable futureOwn

38、ers gets dividends,employees gets bonusCreate an open source foundationWhy go Open Source?Spread the product more quickly(more users)Get some part of the development done elsewhere(lower cost)Get things more tested and more bug reports(higher quality)Possible to get development done in not business

39、critical directions(more useful product)Easier to find good developers,partners and customersThe above means more market recognition,feedback,leads,business,partners and sell opportunities and a strong trademark.In general open source projects gets more feedback and better bug reports than closed so

40、urce project.Reasons for users to trust a open source vendorOpen source vendors are more trustworthy as they depend on trust to surviveNo vendor lock in.Your investment in using the product is safe even if:Vendor goes out of businessVendor would surprisingly change business terms radicallyVendor wou

41、ld stop supporting the version of the product you are usingIf this would happen to a popular product,someone would go away with the code and start maintain it themselvesLittle risk for hidden trap doors as one can examine the product codeBenefits for developers using open source vendorEasy to get ac

42、cess,look at and use the codeFreedom to examine and change any part of the code to satisfy your business reasons,fix bugs or port to other systems.Freedom to find anyone to do the aboveFreedom to use(read,build and change)the code and redistribute the code in an open source environment.Benefits for

43、big business/countries using open sourceYou can develop your own infrastructure to tune the software for your own means(language,unique requirements)Facebook,Google,BBrazil,IcelandYou get internal knowhow you can utilize for businessNot depending on an outside vendor(for minor things).No license cos

44、ts;Low to very low cost of ownership!Its in your interest to collaborate with the original community for long term sustainabilityA full fork is expensive in the long run!You want the original project to survive!When go Open Source?IF you can create a sustainable business model around Open Source,pro

45、prietary vendors will have hard to compete with youIts nowadays increasingly harder to sell closed source solutions in a lot of business sectors.Nor surprisingly,its hard to choose the right license for your software as it significantly impacts your strategy,i.e.How you can co-operate with your user

46、 communityHow you can build your businessHow to choose an OS license?Key Questions:What is your business idea around the open source product?Services,subscriptions and/or licensing?What rights do you keep to your code when used,modified and potentially redistributed?What kind of community do you wan

47、t around the product?The main open source licenses(Very simple view)Public domainGives user freedom to do anything,including changing your copyright and claim they wrote it.BSD/ApacheGives user freedom to full use,but needs to keep copyright in the source code.LGPLGives user freedom to use freely,bu

48、t if they distribute it changed,they need to publish the changes under LGPGPLGives user freedom to use it freely,but if they distribute it,they need to publish changes and their code under GPLAGPL(Optional addition to GPL V3)Free usage,but users needs to publish the code and the code connected to it

49、 even if not distributed(like web server).Business models to use with open sourceOpen-Core Model-have an open-source core and sell closed-source features on top of it(e.g.SugarCRM)Dual Licensing Model-one product/project that gets licensed with a viral,GPL-style license and a commercial closed-sourc

50、e license(e.g.MySQL)Another option is“Business source”or Time Delayed Open SourceServices Models-where you get to download a productized version of an open-source project and pay a fee for the support you get on it for new features.You can normally also pay for training,features etcSubscriptions(Usu

51、ally a combination of support,extended product lifetime and guaranteed updates)Having a non profit foundation fund the developmentDonations,crowd funding or advertisementsOpen CoreProbably most popular way nowadays for business trying to do open source first time.What Oracle is doing with MySQL and

52、EnterpriseDB with PostgreSQLIs not an open source business model,because it uses closed components and most of the benefits open source developers expect from the product is gone:You cant change,modify,port or redistribute the codeYou are locked to one vendorYou may be able to create a small develop

53、er community around the product but mainly by people that doesnt need the closed source extensions.For community developers,the“worst”possible offer is open core or closed source that used under subscription and stops working when subscription runs outDonations and crowd fundingCrowd funding can be

54、a good way to start a project,but not as good for continues developing of a product.(Hard to get money later for new features)Donations can work for big projects,like Wikipedia,but is very hard for smaller projectsMariaDB has got less than 5000 euro during the last 5 years in public donations(paypal

55、 etc)Most support has come to the MariaDB foundation trough membership fees.Advertisment only works for VERY popular web sites and cant sustain a large development organisationDual licensingUsed first by Ghostscript.MySQL was the second product to use it.Can only be used when you have full rights to

56、 all the code.Give out the same code under two licenses,for example GPL or AGPL and normal commercial closed source.Companies that cant use the GPL(because they dont want to give out their code)can buy the closed source version.GPL only works well for infrastructure,easily embeddable products,like l

57、ibraries or databases.AGPL can work with projects that is used in SAS environment,but only if the company does closed source changes to the product(Example:iText,mongodb)Business Source License(or Delayed Open Source)Not an open source license,but gives the users similar advantages.Source code is av

58、ailable from the start.Anyone has the right to copy,modify&distribute but cant use it commercially under some conditions you define.After X years the code automaticly converts to some open source/free license.The date has to be explicitly set in all source code files to avoid misunderstandingsBetter

59、 than Open Core as this removes the“one vendor”problem and the code will eventually be free.Investor friendly(as there is a way to force some users to pay).Wikipedia has a totally different definition of delayed open source,Reasons for users to trust a open source vendor(again)Benefits the Business

60、source license gives its users are almost same as for open source:No vendor lock inAnyone can develop or support the product.All source code is availableAnyone can fix bug or add new features.The“only”caveta is that if you are using the BSL version in serious production,you have to pay for a limited

61、 timeBusiness Source licenseForces good behaviourYou have to do frequent releasesYou have to innovate and fix bug,to ensure that users want to have the latest release.Ensures that the company is not bought by a bad entity that just wants to close down the project.This is ensured by that if the proje

62、ct is not developed future,anyone can continue with the original code and,after a short delay,take over the project.Recommendations for Business Source license3 or 5 year before it becomes open source.Depends on how long you have between releases and how good your investors are.Target that 1/100 or

63、1/1000 should have to pay.The bigger your free community is,the more benefit you get from it.Free version and commersal version should have identical source code and tools.Do NOT try to combine this with open core or closed source.Instead tune the Business Source license so that it can generate the

64、income you need to succeed.Business Source licenseResources and backgroundCreated around 2004 by David Axmark and MontyFirst news article about it(with lots of comments):http:/ in http:/timreview.ca/article/691Overview at http:/monty-Fred Trotters“Open Source Eventually License”http:/projects.openso

65、urce.org/pipermail/license-discuss/2013-August/001072.htmlhttps:/ Source license is a bit similar:https:/fair.ioBusiness Source licenseLots of confusionDiscussed on Slashdot:http:/developers.slashdot.org/story/13/06/26/1552215/monty-suggests-a-business-friendly-license-that-trends-openLots of confus

66、ed people about the intention:http:/ SourceProjects using itMaxScale proxy from MariaDB Corporationhttps:/ early adoptors,who tried BSL(BSL is still new and need time to get adopted)Baasbox used it early,but switched to a SASRapidMiner used it early,but switched to AGPLRhodeCode used it early but sw

67、itched to community and enterprise(closed source)editions.Dual licensing and the Business source licenseWhat to do about companies that cheats?The base of dual licensing is that a few%pays,rest is using it for free.There will always be companies that tries to missuse any license.This doesent matter!

68、What matters is that no serious enterprise company will cheat on the license as the implications if they are caught are too big.The importance of selling licensingMySQL would never have been possible without licenses.Very hard to get companies to pay for support,sponsorships or developmentCompanies

69、expect to use open source for freeException is companies you work with to develop the open source projectSubscriptions are good,but also hard to sell.Investors are not excited by“only subscription business”Licensing is“free money”for the projectYou need one entity that holds the copyright to the who

70、le project or use SAAS(Software as a service)You need to be able to dual license your projectYour project is an infrastructure project that is usually embedded into others.What made MySQL successful?We where using it(for data warehousing and web)Internet was new and everyone needed a web-optimized D

71、B“Virtual company”made it easy to find good peopleNew“free”license scheme(this was before Open Source)Free for most,a few have to paySecond program(ghostscript was first)to use dual licensing,MySQL first to do it with GPL.Very easy to install and use(15 minute rule)Released source and tested binaries for most platformsFriendly and helpful towards communityI personally wrote 30,000+emails during the first 5 years to help people with using MySQLWaited with investments until product was“good enough”Needed,stable and easy to use product with right priceThe end

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(如何创建一个成功的开源项目(45页).pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部