Bu sunum ile Java ekosistemi bağlamında, açık kaynak kodlu yazılımın amacı, avantajları ve dezavantajları, lisanslama yöntemleri, açık kaynak kodlu projelere nasıl dahil olunabileceği, açık kaynak kodlu yazılım üreten vakıfları ve her yıl düzenlenenen etkinliklere nasıl katılınabileceği, açık kaynak üzerine kurulmuş iş modelleri, hakkında bilgiler edinebilirsiniz.
Enterprise Java Web Application Frameworks Sample Stack Implementation
Fikrim Acik Kodum Acik
1. Fİkrİm Açık !
Kodum Açık !
Mert ÇALIŞKAN
mcaliskan@gmail.com
Çankaya Üniversitesi
19.02.2010
2. Ben?
• Mert Çalışkan
• Yazılım Tesisatçısı :)
SCJP sertifikası vs... vs...
• Açık Kaynak Kodlu Yazılım Taraftarı
Birçok açık kaynak kodlu projede yer
almakta... PrimeFaces, mesir ...
• Apache Software Foundation üyesi
OpenLogic Expert Community üyesi
3. Siz?
• Açık Kaynak Kodlu Yazılım
• Kullanıcıları?
• Katılımcıları?
• Geliştiricileri?
4. Ajanda
Açık Kaynak Kodlu Yazılım
Nedir, Amacı Nedir, Nasıl Seçerim? Avantajı? Dezavantajı?
Bedava Yazılım != Açık Kaynak Kodlu Yazılım
Lisanslama
Çeşitleri, Farkları, Nasıl seçmeli
Çorbada tuzumuz olsun !
Projelere nasıl Dahil olunur? Kendi Projemi nasıl sunabilirim?
Kuruluşlar / Organizasyonlar
İş Modelleri
5. Açık Kaynak Kodlu Yazılım Ne Demek?
Sadece koda erişim değil...
- Belirli bir lisans ile
herkese açık...
- Değiştirilebilir, türetilmiş
çalışmalar oluşturulabilir...
- Yazarının haklarının korunması...
Kısıtsız..!
6. Açık Kaynak Kodlu Yazılım Ne Demek?
Camia’nın esnek olmayan, maliyetli,
kendini ürün sağlayana bağlayan
ÜRÜNLERE cevabı
FelseFi bir yaklaşım ve bir Metodoloji
7. Peki Neden Açık Kaynak Kodlu Yazılım?
Avantaj:
- Sıfır ( 0 ) maliyet
yüzü gülen yöneticiler :)
- Kaliteli Kod
geniş kitlelere ulaşıyor.
işinin erbabı geliştiriciler.
- Koda Erişim
kendi yamanı kendin yap.
kolay debugging...
- Ürün sağlayıcı bağımsızlığı (no vendor lock-in)
firmaya bağlanmak yerine, camiaya bağlan.
Dezavantaj:
- Kurumsal Yönetim Modeli
- Kalite Sürecleri
- Destek olanakları ?
8. En uygunu nasıl seçerim?
Lisans koşulları benim iş modelime uyuyor mu?
GPL ASL
Camianın gücü... büyük, hevesli, aktif, kozmopolit için her zaman +1
with enough eyeballs all bugs are shallow
Kullanıcılar tarafından kabul görmesi
geniş kitlelere ulaşıyorsa +1
Yol haritası
yayım tarihleri, ara yayımlar...
Ticari destek mevcut mu?
Dökümantasyon ! kodun dökümante edilmesi (spring), örnekler vb.
elde avuçta olan sadece kod + dökümantasyon
9. Free Software != Open Source Software
Free Software (Bedava Yazılım) Open Source (Açık Kaynak Kodu)
‣ Free Software Foundation (FSF) ‣ Open Source Initiative (OSI)
‣ Kodun özgürlüğü ‣ Geliştiricinin özgürlüğü
free speech, not as in free beer lisanslama
‣ Kullanıcıyı bağımsızlaştırmak ‣ Ürün sağlayıcı bağımsızlığı
(GNU/Linux) (no vendor lock-in)
10. Micro$$$oft
Express yourself
Visual Studio Express
SQL Server Express
ANKET
koda erişim kritik:
>60%
erişilen kodu inceleyen:
~5%
değiştirmeyi düşünen:
~1%
M$ sourceforge ???
12. Lisanslar
Academic Free License 3.0 (AFL 3.0) Microsoft Reciprocal License (Ms-RL)
Affero GNU Public License MIT license
Adaptive Public License Motosoto License
Apache License, 2.0 Mozilla Public License 1.1 (MPL)
Apple Public Source License Multics License
Artistic license 2.0 NASA Open Source Agreement 1.3
Attribution Assurance Licenses NTP License
New and Simplified BSD licenses Naumen Public License
Boost Software License (BSL1.0) Nethack General Public License
Computer Associates Trusted Open Source License 1.1 Nokia Open Source License
Common Development and Distribution License Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0)
Common Public Attribution License 1.0 (CPAL) OCLC Research Public License 2.0
CUA Office Public License Version 1.0 Open Font License 1.1 (OFL 1.1)
EU DataGrid Software License Open Group Test Suite License
Eclipse Public License Open Software License 3.0 (OSL 3.0)
Educational Community License,Version 2.0 PHP License
Eiffel Forum License V2.0 Python license (CNRI Python License)
Entessa Public License Python Software Foundation License
European Union Public License (link to every language's Qt Public License (QPL)
version on their site) RealNetworks Public Source License V1.0
Fair License Reciprocal Public License 1.5 (RPL1.5)
Frameworx License Ricoh Source Code Public License
GNU General Public License (GPL) Simple Public License 2.0
GNU General Public License version 3.0 (GPLv3) Sleepycat License
GNU Library or "Lesser" General Public License (LGPL) Sun Public License
GNU Library or "Lesser" General Public License version 3.0 Sybase Open Watcom Public License 1.0
(LGPLv3) University of Illinois/NCSA Open Source License
Historical Permission Notice and Disclaimer Vovida Software License v. 1.0
IBM Public License W3C License
IPA Font License wxWindows Library License
ISC License X.Net License
Lucent Public License Version 1.02 Zope Public License
MirOS Licence zlib/libpng license
Microsoft Public License (Ms-PL)
13. Lisanslar
Academic Free License 3.0 (AFL 3.0) Microsoft Reciprocal License (Ms-RL)
Affero GNU Public License MIT license
Adaptive Public License Motosoto License
Apache License, 2.0 Mozilla Public License 1.1 (MPL)
Apple Public Source License Multics License
Artistic license 2.0 NASA Open Source Agreement 1.3
65
Attribution Assurance Licenses NTP License
New and Simplified BSD licenses Naumen Public License
Boost Software License (BSL1.0) Nethack General Public License
Computer Associates Trusted Open Source License 1.1 Nokia Open Source License
Common Development and Distribution License Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0)
Common Public Attribution License 1.0 (CPAL) OCLC Research Public License 2.0
CUA Office Public License Version 1.0 Open Font License 1.1 (OFL 1.1)
EU DataGrid Software License Open Group Test Suite License
Eclipse Public License Open Software License 3.0 (OSL 3.0)
Educational Community License,Version 2.0 PHP License
Eiffel Forum License V2.0 Python license (CNRI Python License)
Entessa Public License Python Software Foundation License
European Union Public License (link to every language's Qt Public License (QPL)
version on their site) RealNetworks Public Source License V1.0
Fair License Reciprocal Public License 1.5 (RPL1.5)
Frameworx License Ricoh Source Code Public License
GNU General Public License (GPL) Simple Public License 2.0
GNU General Public License version 3.0 (GPLv3) Sleepycat License
GNU Library or "Lesser" General Public License (LGPL) Sun Public License
GNU Library or "Lesser" General Public License version 3.0 Sybase Open Watcom Public License 1.0
(LGPLv3) University of Illinois/NCSA Open Source License
Historical Permission Notice and Disclaimer Vovida Software License v. 1.0
IBM Public License W3C License
IPA Font License wxWindows Library License
ISC License X.Net License
Lucent Public License Version 1.02 Zope Public License
MirOS Licence zlib/libpng license
Microsoft Public License (Ms-PL)
14. Nasıl Lisanslamalı ?
Kodun kullanımı & dağıtımı önemli mi?
Evet Hayır
Ticari uygulamalarda kullanılabilsin mi? liberal lisans
BSD / MIT
Evet Hayır
Ticaretten pay istiyor musun? GPL
Evet Hayır
Kodu kapat o zaman! Başkası tarafından yapılan değişiklikler
aynı lisansla mı yayınlansın?
veyahut, Hayır, zorunlu değil
Evet, zorunlu
Çift Lisanslama EPL, MZL,
ASL
CDDL
18. Katılımcı (Contributor)
Geleceğin Geliştiricileri
Lisanslama için anlaşmaya imzayı atar...!
Herşey bir yama ile başlamıştı...
Geliştirici (Committer)
Gönül veren, gönüllü !
Yaratıcı !
Felsefi yaklaşım
Night developer mode
Uyur-gezer halde olur
Bloglar, tweetler, araştırır, paylaşır,
Yerinde saymaz, zaten yerinde duramaz...
23. PrimeFaces
Açık Kaynak Kodlu JSF bileşen kütüphanesi
Tamamı ile TÜRK işi :)
70+ ajax desteği olan zengin içerikli bileşen
YUI ve jQuery javascript kütüphaneleri tabanlı
Birlikte çalışabilirlik - Ajax Push desteği - Mobil bileşenler
(TouchFaces)
350+ sayfalık dökümantasyon
www.primefaces.org
24. mesir
Yeni bir açık kaynak kodlu uygulama çatısı değil !
Uygulama çatılarının birlikte çalışabilirliğini gösteren
örnek bir (adres defteri) web uygulaması
JSF, Facelets
MyFaces Orchestra
Spring
Hibernate (Search,Validator)
Jboss Envers
CXF, JAX-WS
Joda Time (with Hibernate persistency support)
Selenium Tests
slf4j, logback
http://code.google.com/p/mesir
Reklam önemli :)
The Server Side / DZone
~700 kaynak kodu, ~2000 çalıştırılabilir dosya indirildi
26. Apache Software Foundation
1999‘da Amerika’da kurulmuş kar amacı gütmeyen bir kuruluş
Yaklaşık 70 proje sunuluyor, genelde Java tabanlı...
Apache Lisansı v2.0
Her proje kendi grubu tarafından yönetiliyor.
28. Google Summer of
Code
2005’den beri kod aşkına...
Öğrenciler (~2500) ve açık kaynak kodlu yazılım geliştiricilerini bir
araya getirme
Karşılıklı kazanım
http://code.google.com/soc
30. Open CourseWare
2001 yılında MIT tarafından başlatıldı.
MIT şu an için:
~2000 ders, ~10.000 ödev, ~1000 sınav
creative commons lisansı
http://ocw.metu.edu.tr
http://ocw.ankara.edu.tr
http://ocw.mit.edu
31. İş Modelleri
• Koddan / üründen değil,
ticari hizmetten kazanç
...
• Donanım ticareti
• Yazılımın bazı bölümlerini açık kaynaklı hale getirip, önemli
bölümlerini ücret karşılığı sağlamak.
• Çift Lisanslama
Dual Licensing
Multi Licensing
32. OpenLogic Expert Community
OLEX
Açık kaynak kodlu yazılım geliştiricileri ile müşterileri
buluşturuan bir platform
Issue Tracker üzerinden yönetim
WAZI - blogging
Getting started with Java EE 6
33. Sonuç...
Açık Kaynak Kod
KAÇINILMAZ...!
Kullanın, katılın, geliştirin !
By 2011, 80% of all commercial software
will contain open source code.
- Open source impossible to avoid, Gartner says”, Network World
http://www.networkworld.com/news/2007/092007-open-source-unavoidable.html