SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Muhammet Kara
LibreOffice Geliştiricisi
GNOME Katkıcısı
Geliştirmeye Hızlı Başlangıç
Özgür Yazılım ve Linux Günleri 2017
Neden LibreOffice?
Özgür, ücretsiz, güçlüdür
İnsanlığın yararına çalışır
Eğlenceli insanlar
Eğitici/öğretici bir deneyim
GSoC: 2016’da 11 öğrenci
İş imkanı
Özgür Yazılım ve Linux Günleri 2017
Şirketler/Kurumlar
Canonical
CIB
Collabora
Igalia
Red Hat
SUSE
The Document Foundation
TÜBİTAK ULAKBİM
Bazı Türk şirketleri
Özgür Yazılım ve Linux Günleri 2017
Bilmeniz Gerekenler
Programlama
Kod okuma
Sabır
Özgür Yazılım ve Linux Günleri 2017
Programlama
C++ → Ana dil
Python → Testing
Javascript → LO Online
Java, BASIC...
Özgür Yazılım ve Linux Günleri 2017
Kod Okuma
Timeline of major StarOffice derivatives
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 20161996 1997 1998 19991994 19951985 2017 2018
StarOffice
1.0
StarOffice
2.0
StarOffice
3.0
StarOffice
3.1
StarOffice
4.0
StarOffice
5.0
StarOffice
5.1
StarOffice
5.2
StarOffice
6.0
OpenOffice.org
638c
OOo
1.1
ooo-build
NeoOffice
3.1
NeoOffice
3.2
NeoOffice
3.3
NeoOffice
2013
NeoOffice
2014
NeoOffice
2015
LO
3.5
LO
3.4
LO
3.3
LO
3.3b
LO
3.6
LO
4.0
LO
4.1
LO
4.2
LO
4.3
LO
4.4
LO
5.1
LO
5.2
LO
5.0
LibreOffice
5.3
StarOffice
8.0
StarOffice
7.0
OOo
1.0
StarOffice
9.0
OOo
2.0
OOo
2.1
OOo
2.2
OOo
2.3
Oracle
OpenOffice
3.3
Apache
OpenOffice
3.4
AOO
4.0
AOO
4.1
OOo
2.4
OOo
3.0
OOo
3.1
OOo
3.2
OOo
3.3b
WorkPlace
2.6
IBM Symphony
1.0
IBM Symphony
3.0
Go-oo
2.3
Go-oo
2.4
Go-oo
3.0
Go-oo
3.1
Go-OpenOffice
3.2
NeoOffice
2.1
NeoOffice
1.2
NeoOffice
2.2
NeoOffice
3.0
Özgür Yazılım ve Linux Günleri 2017
Kod Okuma
Özgür Yazılım ve Linux Günleri 2017
Sabır
Onlarca dil
Yüzlerce sınıf
Karışık bağlantılar
Not alma
Günlük tutma
Küçük adımlar
Yardım istemek
Özgür Yazılım ve Linux Günleri 2017
Ne Nerede?
C++ kodları → .cxx, .hxx
Arayüz tasarımları (XML) → .ui
Sabit dizgeler (string) → .src, .hrc
Özgür Yazılım ve Linux Günleri 2017
Araçlar - Çevrimdışı
IDE/Editor: Vim, emacs, KDevelop, eclipse…
Git, grep → Kod yönetimi aradığını bulma
Glade → Arayüz tasarımı
Özgür Yazılım ve Linux Günleri 2017
Araçlar - Çevrimiçi
Gerrit
Bugzilla
TDF Wiki
OpenGrok
Cppcheck
http://devcentral.libreoffice.org/
Özgür Yazılım ve Linux Günleri 2017
Başlayalım
Kaynak kodları alıp inşa edelim
Çözecek bir sorun seçelim
İlgili kodu bulalım
Daha derine inelim
Değişiklikleri sınayalım
Yamayı gönderelim
Özgür Yazılım ve Linux Günleri 2017
Kaynak Kodları Alma ve İnşa Etme
git clone git://anongit.freedesktop.org/libreoffice/core
sudo apt-get build-dep libreoffice
./autogen.sh
make
./instdir/program/soffice
https://www.libreoffice.org/about-us/source-code/
Özgür Yazılım ve Linux Günleri 2017
Sorun Seçme
Kendi hatanız
EasyHack
Başlangıç düzeyi
Code pointers
Mentor
https://wiki.documentfoundation.org/Development/EasyHacks/by_Required_Skill
Özgür Yazılım ve Linux Günleri 2017
İlgili kodu bulalım
OpenGrok
git grep
git grep “couldn’t connect the server”
http://docs.libreoffice.org/
E-posta listesi
http://lists.freedesktop.org/mailman/listinfo/libreoffice
IRC
#libreoffice-dev @ freenode
Özgür Yazılım ve Linux Günleri 2017
Daha derine...
Hata ayıklamayı etkinleştir
./autogen.sh –enable-debug
make
make dev-install
GDB ile çalıştır
cd [lo-root]/install/program
. ./ooenv
gdb ./soffice.bin
(gdb) run
http://www.yolinux.com/TUTORIALS/GDB-Commands.html
Özgür Yazılım ve Linux Günleri 2017
Değişiklikleri sınama
Yalnızca ilgili modülü inşa et
make [module-name]
Testleri yürüt
make check
Çalıştırıp kontrol et
Özgür Yazılım ve Linux Günleri 2017
Yamayı göndermek
Gerrit’e üye ol ve ayarları yap
https://wiki.documentfoundation.org/Development/gerrit
Değişikliği git’e işle
git commit
Gerrit’e gönder
./logerrit submit master
Özgür Yazılım ve Linux Günleri 2017
Daha fazlası
http://www.libreoffice.org/community/developers/
Özgür Yazılım ve Linux Günleri 2017
LibreOffice, dünya çapındaki gönüllülerden oluşan topluluk
tarafından geliştirilmekte, iyileştirilmekte ve dağıtılmaktadır.
Siz de LibreOffice projesine katılabilirsiniz:
Geliştirici
Test kullanıcısı
Çevirmen
Yerelleştirici
Kullanıcı desteği sağlayan gönüllüler
Tasarımcılar
Tanıtımcılar
…
www.libreoffice.org.tr
Topluluk
Özgür Yazılım ve Linux Günleri 2017
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License
(unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos
and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
Teşekkürler
muhammetk@gmail.com
https://muhammetkara.com
http://libreoffice.org
https://wiki.documentfoundation.org/Development
http://www.gnome.org/~michael/blog/
http://www.lanedo.com/libreoffice-development-howto/
Kaynaklar

Más contenido relacionado

Similar a LibreOffice Geliştirmeye Hızlı Başlangıç

Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Gokhan Boranalp
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - SeminerCihan Özhan
 
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuYazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuAhmet S.
 
Açık Kaynak Kodlu Yazılım Geliştirme
Açık Kaynak Kodlu Yazılım GeliştirmeAçık Kaynak Kodlu Yazılım Geliştirme
Açık Kaynak Kodlu Yazılım GeliştirmeSerkan Kaba
 
Linux İşletim Sistemi
Linux İşletim SistemiLinux İşletim Sistemi
Linux İşletim SistemiMurat KARA
 
Mono Teknolojileri Seminerim 2009
Mono Teknolojileri Seminerim 2009Mono Teknolojileri Seminerim 2009
Mono Teknolojileri Seminerim 2009Haluk YILMAZ
 
Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018Murat KARA
 
Golang Book - Genel Bakış
Golang Book - Genel BakışGolang Book - Genel Bakış
Golang Book - Genel BakışCihan Özhan
 
Hosting Dergi - 20.SAYI
Hosting Dergi - 20.SAYIHosting Dergi - 20.SAYI
Hosting Dergi - 20.SAYIHosting Dergi
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriLemi Orhan Ergin
 
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye GirişPhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye GirişEgemen Mede
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeMuharrem Tac
 
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?mobilike
 
cloud adoption strategy
cloud adoption strategy cloud adoption strategy
cloud adoption strategy Özgür Uğur
 
Gelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler
Gelecegin Gelistiricileri Icin PHP Programlama Dili ve OnerilerGelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler
Gelecegin Gelistiricileri Icin PHP Programlama Dili ve OnerilerMustafa Ileri
 
Linux temel-kursu-kocaeli
Linux temel-kursu-kocaeliLinux temel-kursu-kocaeli
Linux temel-kursu-kocaelisersld68
 

Similar a LibreOffice Geliştirmeye Hızlı Başlangıç (20)

Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - Seminer
 
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuYazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
 
Web Programlama
Web ProgramlamaWeb Programlama
Web Programlama
 
Açık Kaynak Kodlu Yazılım Geliştirme
Açık Kaynak Kodlu Yazılım GeliştirmeAçık Kaynak Kodlu Yazılım Geliştirme
Açık Kaynak Kodlu Yazılım Geliştirme
 
Linux İşletim Sistemi
Linux İşletim SistemiLinux İşletim Sistemi
Linux İşletim Sistemi
 
Mono Teknolojileri Seminerim 2009
Mono Teknolojileri Seminerim 2009Mono Teknolojileri Seminerim 2009
Mono Teknolojileri Seminerim 2009
 
Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018
 
Golang Book - Genel Bakış
Golang Book - Genel BakışGolang Book - Genel Bakış
Golang Book - Genel Bakış
 
Hosting Dergi - 20.SAYI
Hosting Dergi - 20.SAYIHosting Dergi - 20.SAYI
Hosting Dergi - 20.SAYI
 
HTML5 ve Phonegap
HTML5  ve PhonegapHTML5  ve Phonegap
HTML5 ve Phonegap
 
Web development
Web developmentWeb development
Web development
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye GirişPhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
PhoneGap/Cordova ile Mobil Uygulama Geliştirmeye Giriş
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
 
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
Uygulama diline karar vermek: HTML5 mi, Native mi yoksa Hibrit uygulama mı?
 
cloud adoption strategy
cloud adoption strategy cloud adoption strategy
cloud adoption strategy
 
Gelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler
Gelecegin Gelistiricileri Icin PHP Programlama Dili ve OnerilerGelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler
Gelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler
 
Linux temel-kursu-kocaeli
Linux temel-kursu-kocaeliLinux temel-kursu-kocaeli
Linux temel-kursu-kocaeli
 
C Sharp ve .NET
C Sharp ve .NETC Sharp ve .NET
C Sharp ve .NET
 

LibreOffice Geliştirmeye Hızlı Başlangıç

  • 1. Muhammet Kara LibreOffice Geliştiricisi GNOME Katkıcısı Geliştirmeye Hızlı Başlangıç
  • 2. Özgür Yazılım ve Linux Günleri 2017 Neden LibreOffice? Özgür, ücretsiz, güçlüdür İnsanlığın yararına çalışır Eğlenceli insanlar Eğitici/öğretici bir deneyim GSoC: 2016’da 11 öğrenci İş imkanı
  • 3. Özgür Yazılım ve Linux Günleri 2017 Şirketler/Kurumlar Canonical CIB Collabora Igalia Red Hat SUSE The Document Foundation TÜBİTAK ULAKBİM Bazı Türk şirketleri
  • 4. Özgür Yazılım ve Linux Günleri 2017 Bilmeniz Gerekenler Programlama Kod okuma Sabır
  • 5. Özgür Yazılım ve Linux Günleri 2017 Programlama C++ → Ana dil Python → Testing Javascript → LO Online Java, BASIC...
  • 6. Özgür Yazılım ve Linux Günleri 2017 Kod Okuma Timeline of major StarOffice derivatives 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 20161996 1997 1998 19991994 19951985 2017 2018 StarOffice 1.0 StarOffice 2.0 StarOffice 3.0 StarOffice 3.1 StarOffice 4.0 StarOffice 5.0 StarOffice 5.1 StarOffice 5.2 StarOffice 6.0 OpenOffice.org 638c OOo 1.1 ooo-build NeoOffice 3.1 NeoOffice 3.2 NeoOffice 3.3 NeoOffice 2013 NeoOffice 2014 NeoOffice 2015 LO 3.5 LO 3.4 LO 3.3 LO 3.3b LO 3.6 LO 4.0 LO 4.1 LO 4.2 LO 4.3 LO 4.4 LO 5.1 LO 5.2 LO 5.0 LibreOffice 5.3 StarOffice 8.0 StarOffice 7.0 OOo 1.0 StarOffice 9.0 OOo 2.0 OOo 2.1 OOo 2.2 OOo 2.3 Oracle OpenOffice 3.3 Apache OpenOffice 3.4 AOO 4.0 AOO 4.1 OOo 2.4 OOo 3.0 OOo 3.1 OOo 3.2 OOo 3.3b WorkPlace 2.6 IBM Symphony 1.0 IBM Symphony 3.0 Go-oo 2.3 Go-oo 2.4 Go-oo 3.0 Go-oo 3.1 Go-OpenOffice 3.2 NeoOffice 2.1 NeoOffice 1.2 NeoOffice 2.2 NeoOffice 3.0
  • 7. Özgür Yazılım ve Linux Günleri 2017 Kod Okuma
  • 8. Özgür Yazılım ve Linux Günleri 2017 Sabır Onlarca dil Yüzlerce sınıf Karışık bağlantılar Not alma Günlük tutma Küçük adımlar Yardım istemek
  • 9. Özgür Yazılım ve Linux Günleri 2017 Ne Nerede? C++ kodları → .cxx, .hxx Arayüz tasarımları (XML) → .ui Sabit dizgeler (string) → .src, .hrc
  • 10. Özgür Yazılım ve Linux Günleri 2017 Araçlar - Çevrimdışı IDE/Editor: Vim, emacs, KDevelop, eclipse… Git, grep → Kod yönetimi aradığını bulma Glade → Arayüz tasarımı
  • 11. Özgür Yazılım ve Linux Günleri 2017 Araçlar - Çevrimiçi Gerrit Bugzilla TDF Wiki OpenGrok Cppcheck http://devcentral.libreoffice.org/
  • 12. Özgür Yazılım ve Linux Günleri 2017 Başlayalım Kaynak kodları alıp inşa edelim Çözecek bir sorun seçelim İlgili kodu bulalım Daha derine inelim Değişiklikleri sınayalım Yamayı gönderelim
  • 13. Özgür Yazılım ve Linux Günleri 2017 Kaynak Kodları Alma ve İnşa Etme git clone git://anongit.freedesktop.org/libreoffice/core sudo apt-get build-dep libreoffice ./autogen.sh make ./instdir/program/soffice https://www.libreoffice.org/about-us/source-code/
  • 14. Özgür Yazılım ve Linux Günleri 2017 Sorun Seçme Kendi hatanız EasyHack Başlangıç düzeyi Code pointers Mentor https://wiki.documentfoundation.org/Development/EasyHacks/by_Required_Skill
  • 15. Özgür Yazılım ve Linux Günleri 2017 İlgili kodu bulalım OpenGrok git grep git grep “couldn’t connect the server” http://docs.libreoffice.org/ E-posta listesi http://lists.freedesktop.org/mailman/listinfo/libreoffice IRC #libreoffice-dev @ freenode
  • 16. Özgür Yazılım ve Linux Günleri 2017 Daha derine... Hata ayıklamayı etkinleştir ./autogen.sh –enable-debug make make dev-install GDB ile çalıştır cd [lo-root]/install/program . ./ooenv gdb ./soffice.bin (gdb) run http://www.yolinux.com/TUTORIALS/GDB-Commands.html
  • 17. Özgür Yazılım ve Linux Günleri 2017 Değişiklikleri sınama Yalnızca ilgili modülü inşa et make [module-name] Testleri yürüt make check Çalıştırıp kontrol et
  • 18. Özgür Yazılım ve Linux Günleri 2017 Yamayı göndermek Gerrit’e üye ol ve ayarları yap https://wiki.documentfoundation.org/Development/gerrit Değişikliği git’e işle git commit Gerrit’e gönder ./logerrit submit master
  • 19. Özgür Yazılım ve Linux Günleri 2017 Daha fazlası http://www.libreoffice.org/community/developers/
  • 20. Özgür Yazılım ve Linux Günleri 2017 LibreOffice, dünya çapındaki gönüllülerden oluşan topluluk tarafından geliştirilmekte, iyileştirilmekte ve dağıtılmaktadır. Siz de LibreOffice projesine katılabilirsiniz: Geliştirici Test kullanıcısı Çevirmen Yerelleştirici Kullanıcı desteği sağlayan gönüllüler Tasarımcılar Tanıtımcılar … www.libreoffice.org.tr Topluluk
  • 21. Özgür Yazılım ve Linux Günleri 2017 All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy. Teşekkürler muhammetk@gmail.com https://muhammetkara.com http://libreoffice.org https://wiki.documentfoundation.org/Development http://www.gnome.org/~michael/blog/ http://www.lanedo.com/libreoffice-development-howto/ Kaynaklar