Download presentation
Presentation is loading. Please wait.
Published byDorcas Logan Modified over 8 years ago
1
1 April 21, 2008 1 Funding Open Source Software Projects William Cohen NCSU CSC 591W April 21, 2008
2
2 2 Free vs Libre ● People assume free implies no cost ● Free in the software refers to the license ● Open Source Software has costs associated with it
3
3 April 21, 2008 3 Developer Resources Needed to Develop Software ● People's time: ● To write software ● To test software ● To write documentation ● To translate output text and documentation
4
4 April 21, 2008 4 Infrastructure Resources Needed to Develop Software ● Bandwidth and Space for: ● Code repository ● Email archive ● Bug tracking system ● Source files of software ● Pre-built releases ● Processing power for: ● Building software ● Creating pre-built executable ● Running test and performance suites
5
5 April 21, 2008 5 Informal Support ● Companies realize benefit of OSS model: ● Improvements from outside developers ● Software adaptable for their own use ● Company allows employees to work on OSS project: ● Release initial work as OSS project ● Contribute to existing OSS project ● Company subsidizes work on OSS project
6
6 April 21, 2008 6 Types of Involvement ● Sharing the burden ● Augmenting services ● Supporting hardware sales ● Weaken competitor ● Marketing ● Dual-licensing ● Dontations
7
7 April 21, 2008 7 Sharing the burden ● Pool resources to create or maintain open source project ● Cost of development divided ● Fixes by one developer useful to all people ● Avoid doing redundant work ● Some projects are too large to do alone, in-house: ● Linux kernel ● GCC (Gnu Compiler Collection)
8
8 April 21, 2008 8 Augmenting Services ● Company has business that dependent on a particular OSS project: ● Consulting services using software ● Software used as part of product offering ● Company has interest in making sure that the OSS project continues to work well
9
9 April 21, 2008 9 Supporting Hardware Sales ● Hardware vendor realizing that OSS support needed to sale devices (e.g. customer requires device compatible with Linux) ● Many device drivers now being developed by hardware vendors ● May make hardware available to developers to ensure that OSS software works on hardware ● Have contract for developers add support for particular hardware (e.g. profiling support for Arm embedded processor)
10
10 April 21, 2008 10 Alternative for Competitor's Product ● Find that customers pick a product because of a competitors offering ● Develop an OSS alternative for the competitor's product ● Have customers decide to use the OSS alternative ● Example: Open Office
11
11 April 21, 2008 11 Marketing ● Being involved in developing popular OSS to improve company's brand ● Which company would a customer prefer to be involved with? ● The company that is actively involved in development and maintenance of the software. ● The company that just downloads the bits and maybe files bug report for upstream maintainers to fix?
12
12 April 21, 2008 12 Dual-licensing ● Copyright owner license software under two licenses: ● Open Source license ● Proprietary license ● Dual license allows: ● Software to be used in open source projects ● Input from the community about issues with the software ● Most appropriate for embedded software (e.g. libraries)
13
13 April 21, 2008 13 Donations ● Contributions to help pay for resources ● May be direct donations of equipment (e.g. servers and storage space) ● If project accepts donations, have a plan on how to spend the money before it is available
14
14 April 21, 2008 14 Money vs. Credibility ● Can pay someone to work on Open Source Project ● Person getting paid for work does not guarantee that the work is accepted into the project ● Person need time to build credibility: ● Understand structure of project ● Understand the standard operating procedures of project ● Reputation of fixing problems and implementing features ● Existing developers give reviews and comments on public mailing list on new developers
15
15 April 21, 2008 15 Apprenticing Paid Developers ● Someone might be hired to work on a project without previous experience on that project ● Avoid giving paid developers special treatment because the paid to work on project ● Have new developer submit patches like any other new volunteer developer ● Existing developers give them write access to code repository in the same process as volunteer developers
16
16 April 21, 2008 16 Monolithic Company vs. Individual Developers ● Have the individual company developers discuss things in public ● It is okay to have developer in the same company to have differences of opinion ● Developers working for same company should not vote as a block ● Don't try to figure everything out in internal mailing list and post the “company's” opinion on the external mailing list ● Developers may still work together to form a consensus
17
17 April 21, 2008 17 Avoid Hidden Agendas ● Give others an understanding why a goal is desirable: ● They can become advocates for the goal ● They may provide better ideas on implementation ● Be open as possible about your goal ● There may be some details cannot discuss: ● Customer confidential information in bug report ● What customer desires a particular feature ● Provide data to back up your point
18
18 April 21, 2008 18 Contracting ● Often companies see a need for a specific feature in an OSS project ● The company may not have the expertise to implement the work ● Company has a contractor do the implementation
19
19 April 21, 2008 19 Contract Estimating ● Estimates often rough guesses of amount of work ● Divide the into smaller more estimable chunks ● Cost of contract: ● Time and material (unknown duration scale) ● Fixed cost ● Estimate should cover cost of work ● Estimate may take into account the expertise of the person doing the work: ● New person might take longer to do work
20
20 April 21, 2008 20 Contracting with Existing Project Developer ● Existing developer on OSS project may be best choice: ● Has understanding of project ● Has credibility on the project ● Developer should be as open as possible about contract: ● May seem odd to sudden push for particular features or bug fixes ● Need to get consensus from other developers ● May get useful feedback for better implementation
21
21 April 21, 2008 21 Funding Non-Programming Activities ● Not all work on OSS projects is developing new code: ● Quality assurance ● Legal advice and protection ● Documentation and Usability ● Providing Hosting/Bandwidth
22
22 April 21, 2008 22 Quality Assurance ● Proprietary software has teams of people doing QA: bug hunting, performance and scalability testing, interface and documentation checking ● Open Source Project may not have volunteers working in those areas ● Hopefully, project has made it easy for people to maintain high quality: ● Nightly testing ● Easy to run testsuites ● Companies may dedicate resources to address QA: ● Group that focus on measuring performance ● Group that tests code to catch regressions ● Group that writes documentation
23
23 April 21, 2008 23 Legal Advice and Protection ● Developers might not be versed in copyright, trademark, and patent law ● Legal department may assist OSS project ● Help enforce license, e.g.: ● Software Freedom Legal Center (SFLC) help with BusyBox
24
24 April 21, 2008 24 Documentation and Usability ● Some software projects may be lacking appropriate documentation ● Company may see the need for better documentation for the software ● Company support writing tutorials and other materials
25
25 April 21, 2008 25 Providing Hosting and Bandwidth ● Some companies provide hosting and bandwidth for OSS projects: ● Google, http://code.google.com/http://code.google.com/ ● Intel, http://oss.intel.com/en-us/http://oss.intel.com/en-us/ ● IBM, http://www-03.ibm.com/linux/opensource/http://www-03.ibm.com/linux/opensource/ ● Red Hat, http://sources.redhat.com/http://sources.redhat.com/ ● Sun Microsystems, http://www.sun.com/software/opensource/index.jsp http://www.sun.com/software/opensource/index.jsp ● There are also many canned hosting solutions ● The company generally providing more than just hosting and bandwidth to make this worthwhile
26
26 April 21, 2008 26 Marketing ● Being involved in successful OSS projects can be good for a company ● May make a point of talking about the involvement ● Avoid over stating claims: ● Other developer can be offended by mis-statements ● Things are relatively easy to verify in OSS ● Commits logs to find out who contributed ● Bug list show activity on bug fixes
27
27 April 21, 2008 27 Further Reading ● http://producingoss.com/ http://producingoss.com/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.