1 April 14, 2008 1 Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008.

Slides:



Advertisements
Similar presentations
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
Advertisements

Level 2 IT Users Qualification – Unit 1 Improving Productivity Name.
© 2009 GroundWork Open Source, Inc. PROPRIETARY INFORMATION: Information contained herein is not for use or disclosure outside of GroundWork Open Source,
An Introduction to Content Management. By the end of the session you will be able to... Explain what a content management system is Apply the principles.
Lecturer: Ghadah Aldehim
Open Source Workshop1 IBM Software Group Working with Apache Tuscany A Hands-On Workshop Luciano Resende Haleh.
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Paul Mundy and Bob Huggan 1 Websites.
LBTO IssueTrak User’s Manual Norm Cushing version 1.3 August 8th, 2007.
Programming and Application Packages
Level 2 IT Users Qualification – Unit 1 Improving Productivity
1 ITSK 2611 Welcome. 2 Operating System 3 What is an OS Resource Manager –Disk –Memory –CPU Device Manager –Printers –Video Card –Sound Card Utility.
ExTASY 0.1 Beta Testing 1 st April 2015
Level 2 IT Users Qualification – Unit 1 Improving Productivity Cory Street.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
How to Publish Your Code on COIN-OR Bob Fourer Industrial Engineering & Management Sciences Northwestern University COIN Strategic Leadership Board.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
The Software Development Process
Configuration Management CSCI 5801: Software Engineering.
Intermediate 2 Computing Unit 2 - Software Development.
Page 1. LexisNexis Confidential LexisNexis NZ Upgrade July 2006 Preview 1. Introduction 2. Upgraded Source Directory 3. PDF Delivery of Documents.
第 11 組 MIS 報告. Phases of any information system ~ recognition of a business problem or opportunity ~ recognition of a business problem or opportunity.
QuickBooks Pro 2012.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
1 February 6, Patches William Cohen NCSU CSC 591W February 6, 2008.
1 April 16, Open Source Software Project Infrastructure William Cohen NCSU CSC 591W April 16, 2008.
1 March 19, Test Plans William Cohen NCSU CSC 591W March 19, 2008.
1 April 2, Software Packaging and Releasing Best Practices William Cohen NCSU CSC 591W April 2, 2008.
1 February 6, Patch Submission and Review Process William Cohen NCSU CSC 591W February 11, 2008.
1 January 16, Open Source Software Communications William Cohen NCSU CSC 591W January 23, 2008.
1 January 14, Evaluating Open Source Software William Cohen NCSU CSC 591W January 14, 2008 Based on David Wheeler, “How to Evaluate Open Source.
1 January 31, Documenting Software William Cohen NCSU CSC 591W January 31, 2008.
1 April 21, Funding Open Source Software Projects William Cohen NCSU CSC 591W April 21, 2008.
Thinking Web > CONTENT DEVELOPMENT
Introduction to CAST Technical Support
Installing and Learning Software
Development Environment
Managing a Project User Documentation.
Installing and Learning Software
3 August 2016 M.Dimou - A.Racine 1.
William Cohen NCSU CSC 591W February 27, 2008
After logging in go to “Lodge Reports”
User-centred system design process
Software Packaging and Releasing
William Cohen NCSU CSC 591W February 25, 2008
Lesson Objectives Aims You should be able to:
UNIT-V Open Source Software Development: Starting from what you have, Choose a license and apply it, Setting the tone, Technical infrastructure: What a.
Maintaining software solutions
UNIT 15 Webpage Creator.
Issue Tracking Systems
How to Fix 1460 Error in Mozilla Thunderbird?. Mozilla Thunderbird is an open-source cross-platform, released in The program works as a center where.
My Oracle Support (The next generation Metalink experience) lynn
Getting started With Libby, you can browse, borrow, and enjoy eBooks and audiobooks from your library. You just need: An internet connection A library.
Meet Libby *A NOTE FOR PRESENTERS: We’ve included, for your reference, some slides with extra information and links to share with your patrons. If there.
Introduction to CAST Technical Support
Digital filing & note-taking
3DPC Printing Lab Overview
Getting started With Libby, you can browse, borrow, and enjoy eBooks and audiobooks from your library. You just need: An internet connection A library.
Complete CompTIA A+ Guide to PCs, 6e
Digital Stewardship Curriculum
Problem Solving Skill Area 305.1
How to Fix HP Printer Scanning Problems Using Scan Doctor?
COMPANY NAME/ PRODUCT NAME
CS310 Software Engineering Lecturer Dr.Doaa Sami
WP 4 - Revision of Natura 2000 dataflow
CS5123 Software Validation and Quality Assurance
Introduction to CAST Technical Support
Lecture 5: Writing Page
BCS Template Presentation February 22, 2018
The Technical Writing Process
Presentation transcript:

1 April 14, Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008

2 2 Outline ● Software Creation ● Existing Open Source Software ● Audiences for Software ● Transforming software into an Open Source Project

3 April 14, Software Creation ● Many Open Source Software projects originally developed to address personal or institutional need ● Goal is to solve problem (not sell a software product) ● People working on the software closely connected to people using software: ● Same person developing and using the software ● People in the same organization ● Tight feedback helps to make the software good

4 April 14, Existing Software Projects ● Why start from scratch? ● Look for existing projects: ● May already have much of the work implemented ● Easier to add desired functionality ● Already have existing community ● Use search engines ● Places to look: ● Fresh Meat, ● Source forge, ● Free Software Foundationhttp://directory.fsf.org/

5 April 14, Users and Developers ● Two distinct audiences: ● Users – people wanting to use the software ● Developers – people interested in working on or enhancing the software ● Keep audience in mind when writing documentation: ● Users do not care about the internal details of the software ● Make it clear what audience the documentation is for, e.g. label clearly ● With open source software users can potentially become developers

6 April 14, Transformation to Open Source Code ● May already have existing code to transform to opensource, e.g. Mozilla project ● Reviews and Audits: ● Ownership of the source code (no licensed third-party code) ● No confidential information (e.g. customer info in bug tracking system) ● Reduce the barriers to build, install, and use: ● Documentation ● Source code organization

7 April 14, Minimizing Barriers to Entry ● Try to make it as easy as possible for people to: ● Find the project ● Download the project ● Build and install the project ● Develop on the project ● The higher the barriers the fewer users and contributions from potential developers

8 April 14, Naming Project ● Naming important ● Need to have name that clearly identifies project: ● Example problem name, PAPERS (Purdue's Adapter for Parallel Execution and Rapid Synchronization) ● Want to have the give people some idea what the project does ● Generally stick to English ● Avoid infringing on trademarks: ● Minimize confusion and possible legal issues ● Check and get.com.net and.org top-level domain name for project

9 April 14, Mission Statement ● Short blurb that allow people to decide whether the project is for them ● Example mission statement from OpenOffice: To create, as a community, the leading international office suite that will run on all major platforms and provide access to all functionality and data through open-component based APIs and an XML-based file format.

10 April 14, Project Licensing ● Make it clear what software license is being used ● Do not assume that people will dig for that information ● Put licensing information on front page for project ● See about using an existing license rather than creating a new one: ● Many existing license work well ● A new license can increase barrier to entry (people have to review new license)

11 April 14, Features and Requirements ● What does the software do that people would care about? ● Avoid frustrating users, set expectation on environment: ● List what hardware is needed to run the software (e.g. only works on x86 machines or particular video cards) ● List what software is needed to build and run the software

12 April 14, Development Status ● Give people an idea of how things are progressing on the project: ● List historical information on previous releases ● TODO lists things that remain to be done

13 April 14, Download ● Make it easy for users to get a copy of the source: ● Link to down load current release (or snapshot) ● Have download in standard formats (e.g. tar or zip) ● Standardize build of the software

14 April 14, Version Control ● Want to make sure that revision control system is available anyone ● Default read only access is sufficient ● Reduce the barrier to entry for people trying their hand at development on the code ● Potential developers need access to the latest copy ● Users may want to see if a bug is already fixed

15 April 14, Bug Tracking System ● Make it easy for people to report and search for problems on the software ● Having a bug tracking system sign that project a bit more serious

16 April 14, Communication ● Want to hear from people using the software ● List contact info on front page: ● Mail lists ● IRC

17 April 14, Documentation ● Make it possible to view documentation without downloading the software ● Keep in mind the audience for the document (user or developer) ● Keep the documentation concise and easily searched ● Write documentation in stages: ● Start with quick installation and tutorial guide ● Expand into more detailed topic, e.g. software internals ● Label incomplete areas (maybe someone will expand them) ● FAQ (Frequently Asked Questions)

18 April 14, Example Output and Screen Shots ● A picture is worth a thousand words. ● Sometime easiest to have actually output from software in documentation

19 April 14, Developer Guidelines ● People may want to contribute to the project ● Make it easy for them to understand the process to contribute ● Describe process of getting patches into the project ● Where to contact people for technical questions

20 April 14, Developer Documentation ● “Use the source, Luke.” ● Can release code without developer documentation ● Often people ask others on IRC or about software internals

21 April 14, Further Reading ● ●