1 April 21, Funding Open Source Software Projects William Cohen NCSU CSC 591W April 21, 2008.

Slides:



Advertisements
Similar presentations
The Web Wizards Guide to Freeware/Shareware Chapter Six Open Source Software.
Advertisements

Unit 1 Living in the Digital WorldChapter 4 – Smart Working This presentation will cover the following topics: Software choices Name:
Open Source WGISS 39. Definition of Open Source Software (OSS)  Open source or open source software (OSS) is any computer software distributed under.
Linux Basics. What is an Operating System (OS)? An Operating System (OS) is an interface between hardware and user which is responsible for the management.
Benefits of a SUSE ® Subscription Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Documenting the Participation of Fishing Vessel Crew Members in Alaska’s Commercial Fisheries Documenting the Participation of Fishing Vessel Crew Members.
Custom Software Development Intellectual Property and Other Key Issues © 2006 Jeffrey W. Nelson and Iowa Department of Justice (Attach G)
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Clinical Application. The Problem Clinical Systems are extremely complex IT configures and deploys best practices (best guesses) about what users want.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 7 Business Aspects of Software Engineering.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
MIS 105 LECTURE 1 INTRODUCTION TO COMPUTER HARDWARE CHAPTER REFERENCE- CHP. 1.
Year 12: Unit 2, living in the digital world. 1. What is ICT? ICT is the use of technology to convert data to information. It covers many areas, especially.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Contract management 1. Acquiring software from external supplier This could be: a bespoke system - created specially for the customer off-the-shelf -
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
1 February 6, Patches William Cohen NCSU CSC 591W February 6, 2008.
1 April 14, Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008.
Benefits of a SUSE® Subscription
Why Fedora? Overview and Q&A Warren Togami Associate Software Engineer Red Hat, Inc. Southern California Linux Expo Feb 11-12, 2006.
1 February 6, Patch Submission and Review Process William Cohen NCSU CSC 591W February 11, 2008.
1 March 12, Testing William Cohen NCSU CSC 591W March 12, 2008.
Dec06-02: Parking Meter Ryan King: Team Leader Kristen Goering: Communications Justin Smith John Scapillato.
An Introduction to. Where did Fedora come from? Boxed set every 6 months == Failed business model [
1 January 14, Evaluating Open Source Software William Cohen NCSU CSC 591W January 14, 2008 Based on David Wheeler, “How to Evaluate Open Source.
Dropbox: “It Just Works”
Technology Transfer Office
INTRO. To I.T Razan N. AlShihabi
Hosting for E-Commerce
Open source development model and methodologies.
Chair, Architecture Group
ATS Service Assurance Suite presentation
Information Systems Development
Hosting for E-Commerce
Selected topic in computer science (1)
The Development Process of Web Applications
Software Packaging and Releasing
Software: Systems and Application Software
Changing Pattern of Employment
How Can Hosted PBX Help You Gain The Communication Balance
Precision and Art in Technology Solutions
5 SYSTEM SOFTWARE CHAPTER
What You Should Know About Medical Office Construction
Getting the Best from Cannabis Collection Services
An Introduction to Device Drivers
Comparison June 2017.
Microsoft Services Provider License Agreement Program reference card
Texas Secretary of State Elections Division
Lesson 5 Computer-Related Issues
Systems analysis and design, 6th edition Dennis, wixom, and roth
Chapter 2: The Linux System Part 1
How to Design and Implement Research Outputs Repositories
Systems analysis and design, 6th edition Dennis, wixom, and roth
Complete CompTIA A+ Guide to PCs, 6e
Starting a Waste Reduction Technical Assistance Center
Chapter 25 – Configuration Management
Business Models for Open Source Software Companies
Licensing Windows for Virtrual Desktops
software & cloud computing
COMPANY NAME/ PRODUCT NAME
6-3 Starting a Small Business
Global Technology Services
Introduction to Computing
Chapter # 5 Supporting Quality Devices
Cloud Security AWS as an example.
Test Cases, Test Suites and Test Case management systems
Booksy University Migration.
COMP755 Advanced Operating Systems
Executable Specifications
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

1 April 21, Funding Open Source Software Projects William Cohen NCSU CSC 591W April 21, 2008

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 April 21, 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 April 21, Infrastructure Resources Needed to Develop Software ● Bandwidth and Space for: ● Code repository ● 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 April 21, 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 April 21, Types of Involvement ● Sharing the burden ● Augmenting services ● Supporting hardware sales ● Weaken competitor ● Marketing ● Dual-licensing ● Dontations

7 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 21, 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 April 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 April 21, 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 April 21, 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 April 21, 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 April 21, Providing Hosting and Bandwidth ● Some companies provide hosting and bandwidth for OSS projects: ● Google, ● Intel, ● IBM, ● Red Hat, ● Sun Microsystems, ● There are also many canned hosting solutions ● The company generally providing more than just hosting and bandwidth to make this worthwhile

26 April 21, 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 April 21, Further Reading ●