محاضرة ألفاها نواف البديع في حاضنة بادر بعنوان " كيف تبدأ مشروعك مفتوح المصدر"
يمكن التواصل مع نواف عبر توتر http://twitter.com/nalbadia
أو من خلال موقع النادي العربي للمصادر المفتوحة
http://www.openarabs.org
1. How To Start Your Own Open Source Project? Nawaf Albadia 11 April 2010
2. Agenda Open Source Paradigm? Your Project (Idea)! Tools and Programming languages. Open Source licenses. Hosting your project (idea)? Contributors and community. Investors. 2
15. Selecting your language Groovy C# Haskell C++ PHP Objective-C The Language you like Ruby Erlang Scala Java Perl F# Python ASP VB
16. 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!!!
17. Tools you need Integrated Development Environment (IDE) Code Repository
18. Tools you need - continue Project Management and Collaboration tools Issue Management
20. 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
21. 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
22. GNU GPL - continue GPL 2 Changed a term that is related to the freedom of distributing the software under GPL. 18
23. 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
24. 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
25. 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
30. 26 Fun Social Learning Passion Career Work Gift Culture Recognition Money Develop Skills What motivates people?
31. 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
32. 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
37. Open Source Projects & Startup Websites, what do they share in common? 33 Open Source & Startup Websites
38. Thank you. You can follow me: http://twitter.com/nalbadia 34
Notas do Editor
The freedom to use the software for any purposeThe freedom to change the software to suit your needsThe freedom to share the software with everyoneThe freedom to share the changes you make
- Meet & communicate with other project leaders - Develop leadership and communication skills - Find people who share the same passion - Develop management skillssSurvival:Idealism - Completely free & Non-commerial - Very high quality - Very low development cost - Integrates with all related systems!! In Reality - Community not interested. - Few contributors - Developers high rates Survival - You need to rely on your skills if you are bootstrapped company – self funded - You need to make money from day one - - You need to find - You project should be market oriented not product oriented Growing up: Scaling up - Software - Community - Company - Partners – In for Money, no passing for learning ….Independence: - Staffing - Funding - Revenue - Partners
-Targeted Users: if you consider enterprise projects then you need to develop enterprise programming languages like Java-Desktop or Web: if you consider desktop application for windows then use then you need to use .NET but if you want write once use everywhere then use Java for desktop. For Web you can use PHP as it is famous-Complexity: if your solution is very complex then you should use a language that support rapid development with good IDE supportTechnical requirements might limit the scope of the language you select, for example if you need high performance then you should go unmanaged code. Some cultures might reject the project based on the language it uses, for example M$ technology in Europe. Consider you want to support your project by IDE then you might go with eclipse. Or if you want to want to optimize parts of your code then you need to write unmanaged code.
IDE for developing the codeCode Repository: for storing the code and managing the changes.
Project Management and Collaboration tools usually web application for collaborating between the members of the project, e.g. forums Issue Management: for tracking the bugs.
The original copyright notice should be included in all versions of the source code and the executable.All advertising materials mentioning features or use of the BSD must include the name of the author. And the name of the author must not use to endorse the product.A disclaimer of liability that prevent the author from being sued over the software.The software can be linked and used for propriety software.
GPL 1Distribute the executable and the source code.You can’t add more terms that restricts the use of the software. So if you want to combine another license with the GPL software has to be released under the GPL.
GPL 2Changed a term that is related to the freedom of distributing the software under GPL. For example if someone created an application that violate countries laws then it can not be GPLed
GPL 3Came after 15 years from GPL 2. And has strong and weak version (LGPL) which allows the use of the LGPL program with propriety. Included more details on the definition of “source code”. Hardware restrictions on software modification. This way some vendors will release hardware that runs modified version of the GPL software without the ability to tolerate the software itself by adding new features.Internationalization and how to handle violations.Adding extra permission by the copyright holder.
Originated from Apache Software Foundation in 2000. The copyright notice and the disclaimer must be presented and never changes.Allows the use of the source code to be developed propriety software and hence the license can be shifted but everything included in the original source code must be preserved like trademark, patent…The reason for it is to overcome the GPL2 license as the GPL 3 didn’t come.Apache license are compatible with GPL 3 (meaning that the Apache software can be combined and redistributed with the GPL 3)
The MIT license, sometimes called X11, was introduced by Massachusetts Institute of Technology. It is also considered to be among the simplest license and it is very similar to BSD except that the BSD includes the ‘advertising clause’. 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.