how to start your own open source project

34
How To Start Your Own Open Source Project? Nawaf Albadia 11 April 2010

Post on 21-Oct-2014

1.310 views

Category:

Technology


2 download

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