how to start your own open source project
Post on 21-Oct-2014
1.309 views
Embed Size (px)
DESCRIPTION
محاضرة القيتها في حاضة بادر بالرياض بعنوان: كيف تبدأ مشروعك مفتوح المصدرTRANSCRIPT

How To Start Your Own Open Source Project?
Nawaf Albadia11 April 2010

Agenda
• Open Source Paradigm?
• Your Project (Idea)!
• Tools and Programming languages.
• Open Source licenses.
• Hosting your project (idea)?
• Contributors and community.
• Investors.2

What does Open Source means?
3

Definition of Open Source
Open Source
Free Software
Open Source Software
OSS
Free/Open Source
Software FOSS
Free/Libre Open Source
Software FLOSS
Simply Open Source
4

Open Source Definition
5
The freedom to use the software for any purpose
The freedom to change the software to suit your needs
The freedom to share the software with everyone
The freedom to share the changes you make

What idea should you implement?
6

Define your role
Goals & Objectives
Build your idea
7
Avoid Fatal Errors:
• Unclear goals & objectives.
• Unknown target users.
• Focus on code.
• Work with wrong people.
• No previous experience
Before You Start

8
Open Source Projects
ImitationImitate successfulcommercial product
InnovationCreate new or innovate an existing solution
Project Idea

Creation
Survival
Growing up
9
You have to know your project stages? Independence

Which tools and programming languages should you select?
10

The Language you like
Selecting your language
Java
PHPC++
C#
Ruby
Scala
PythonVB
F#
ASP
Erlang
Groovy Haskell
Objective-C
Perl

Selecting your language
• Is it desktop, web or mobile application?• Target users• The complexity of the project• The technical requirements of the project• The culture of the target users• Sometimes you need more than one
language!!!

Tools you need
• Integrated Development Environment (IDE)
• Code Repository

Tools you need - continue
• Project Management and Collaboration tools
• Issue Management

What Open Source license should you choose?
15

BSD License
• The original copyright notice should always presented.
• The author name should be presented in the advertisement material.
• A disclaimer of liability.
• Can be used with propriety software.16

GNU GPL (General Public License)
• GPL 1– Distribute the executable and the source code.– Any software that include GPL product must be
GPL-ed.– You can’t add more terms that restricts the use of
the software.
17

GNU GPL - continue
• GPL 2– Changed a term that is related to the freedom of
distributing the software under GPL.
18

GNU GPL - continue
• GPL 3– Came after 15 years from GPL 2. – Strong (GPL3) and weak version (LGPL 3) which
allows the use of the LGPL program with propriety. – Included more details on the definition of “source
code”. – Hardware restrictions on software modification. – Internationalization and how to handle violations.
19

Apache License
Originated from Apache Software Foundation in 2000. – The copyright notice and the disclaimer must be
presented and never changes.– The source code to be evolved into propriety
software.– The reason for it is to overcome the GPL2 license
as the GPL 3 was not introduced.
20

MIT License
• Sometimes called X11 and was introduced by Massachusetts Institute of Technology.
• Considered to be among the simplest license and it is very similar to BSD.
• The software can be used with the propriety as long as the original license is included.
• The license can also be modified to suit the needs of the user.
21


Where to submit your project?
23

24

How to invite contributors?
25

26
Develop Skills
Recognition
Career
Money
Gift Culture
Passion
FunSocial
Learning
Work
What motivates people?

Build your project community
• Contribute to other projects.
• Use social networks; Facebook, Twitter etc.
• Try to obtain respect of the community.
• Offer services for FREE e.g. support.
• Everyone is a salesman for the project.
• Speak in conferences.
• Attend all related events & conferences and speak about your project.
27

You must know
• The Open Source projects are usually maintained by
geographically distributed groups of highly motivated
people dedicating their time freely, expecting only
recognition.
• Large project can be maintained by very small group of
people.28

The Reality
29
Leadership
MaintainerMaintainerMaintainer
CommitterCommitterCommitter
ContributorContributor
ContributorContributor
Contributor
Contributor
Users
Bug Reports Bug Reports Bug Reports

How to find investors?
30


Investors
Business Plan
Prepare Your Talk
Establish Relationshi
p
32

Open Source Projects & Startup Websites, what do they share in common?
33
Open Source & Startup Websites
Love Openness
Love Simplicity
Love Standards
Love to innovate

Thank you.
34