LibreOffice Hesap Tablosu Korumasız Hücreleri Seç

Hesap tablosunda hücrelerin hepsi varsayılan olarak korumalıdır. Bu koruma ancak siz çalışma kağıdını koruma altına aldığınızda aktif olur. Hücrenin koruma durumunu hızlıca değiştirebilmek için bir toggle butonu daha önce eklemiştim.

Bir çalışma kağıdını koruma altına aldığınızda içindeki koruması kaldırılmış hücrelere toplu işlemler yapmanın (Hepsini sil, hepsinin font büyüklüğünü değiştir vs vs) bir yolu yoktu. Elle tek tek seçmeniz gerekiyordu. Hücrenin korumalı/korumasız olması da gözle ayırt edilemediği için imkansızdı diyebilirim.

Eklediğim bu özellik çalışma kağıdı korumalı yada korumasız olduğunda içindeki tüm koruması kaldırılmış hücreleri seçmenize izin veriyor. 6.0 sürümünden itibaren kullanılabilecektir.

İlgili hata kaydı: https://bugs.documentfoundation.org/show_bug.cgi?id=95883
Gönderdiğim yama: https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=ed715a460254e4d72c78ff6eb244a9fc6692e2a6
Sürüm notu:  https://wiki.documentfoundation.org/ReleaseNotes/6.0#Calc

12 Haziran 2017

Posted In: calc, free software, Gezegen, hesap tablosu, hücre koruma, libreofis, Özgür yazılım, unprotected cells

Hücre biçimlendirme çubuğunun toggle davranışı düzeltildi.

LibreOffice hesap tablosunda  aşağıdaki araç çubuğu yardımıyla hücrenin sayı biçimini değiştirmek mümkün:

Sırasıyla standart, para birimi, yüzde, ondalıklı, tarih, bilimsel

Normalde olması gereken aşağıdaki gibi seçili olan hücre hangi biçimdeyse o butonun basılı görünmesiydi.


Bu durum ondalıklı sayı biçimi için geçerli değildi ve daha önce bu durumu düzeltmiştim.

Şimdi standart yani bir hücreye bir sayı yazdığınızda varsayılan biçimi için bu toggle özeliğinin düzeltilmesi gerekiyordu. Ama bu diğerlerinden farklı bir davranışta olmalıydı. Hücre zaten başka bir biçemle biçilendirilmediğinde standart butonu üzerine tıklansada hala basılı durumda kalmalıydı. Ve başka bir buton örneğin % tıkladıysa ve yeniden tıklanıp biçim geri alındıysa standart butonu üzerine basılmadığı halde basık görünmeliydi.

Bu davranışa toggle demek doğru değil, bir radio buton davranışı da değil ne diyeceğimi bilemiyorum. Bu sorun 5.4 sürümünden itibaren düzelmiştir. Var olan özelliğin hatasının çözümü olduğundan önceki ara sürümlere de eklenmesi muhtemel.

İlgili hata kaydı: https://bugs.documentfoundation.org/show_bug.cgi?id=86119
Gönderdiğim yamalar:
https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=82beda528fb74ae1c6b5e12a98dbf5d4e9e4c0db

https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=07dcac8a0057fc24e8cf0a8daebacd97da9c982c
Sürüm notu: https://wiki.documentfoundation.org/ReleaseNotes/5.4#Calc



12 Haziran 2017

Posted In: calc, free software, Gezegen, hesap tablosu, libreofis, Özgür yazılım, toggle

Özgür yazılım ile açık kaynağın ne farkı var?

Özgür Yazılım hareketi 1983'de başlayan ve kullanıcıların yazılımları çalıştırma, anlama, değiştirme ve değiştirdikleri halini dağıtma özgürlüklerini savunan bir harekettir. Açık Kaynak ise neredeyse aynı ilkeleri farklı ifadelerle savunan ve 1998'de ortaya çıkan, özgür yazılım topluluğunun içinden çıkan bir oluşumdur. Özgür Yazılım hareketinin başlatıcısı Stallman açık kaynağı bir yazılım geliştirme metodolojisi, özgür yazılımı ise bir sosyal hareket olarak görmektedir. Stallman uzun yıllardır neden kendisini bir açık kaynak savunucusu olarak kabul etmediğini yazılarıyla ve konuşmalarıyla anlatıyor olsa da çok fazla anlaşıldığı söylenemez. Bu yazıda ikisi arasında bir fark var mı ve biz hangi ifadeyi kullanmalıyız konularını tartışmak istiyorum.

Lisans

Bir yazılımla ne yapabileceğinizi belirleyen şey onun özgür yazılım veya açık kaynak olması değil o yazılımın kullandığı lisanstır. Temel kavramları aynı bile olsa her özgür yazılım lisansı aynı kullanım şartlarını sunmaz. Watcom lisansı gibi neredeyse kimsenin kullanmadığı lisansları bir tarafa bırakırsak bütün açık kaynak yazılım lisanslarının aynı zamanda özgür yazılım lisansı olarak kabul edildiğini görürüz. Konuya lisanslar açısından bakınca özgür yazılımlar ile açık kaynak yazılımlar arasında bir fark yoktur [3].

Yanlış anlamalar

Türkçe konuşan insanlar olarak "free software" ifadesinde yaşanan "bedava" mı "özgür" mü karışıklığını yaşamıyor olmamıza rağmen "open source" yazılım denildiğinde sadece kaynak kodu açık olan yazılımın anlaşılması gibi sorunla, İngilizce konuşanlar gibi, karşı karşıya kalıyoruz. Özgür yazılım denildiğinde arkasında yazılımın ve kullanıcıların özgürlüklerini önemseyen, onun için mücadele eden bir felsefe olduğunu anlamak kolay olmasına rağmen maalesef onun hakkında da kafa karışıklığı az değil. Genel Kamu Lisansı (GPL) en bilinen özgür yazılım lisanslarının başında geliyor olmasına rağmen tek özgür yazılım lisansı değil. GPL özgür yazılımın dört şartına ek olarak Copyleft kavramını da kullanmaktadır. Özgür yazılımın şartları yazılımı sizin nasıl haklarla edineceğinizi belirlerken Copyleft onu nasıl dağıtmanız gerektiğini söyler. Yani Copyleft özelliğine sahip bir lisansla lisanslanmış bir yazılımı yine aynı şartlarla dağıtmanız gerekir [1]. Bütün özgür yazılım lisanslarının böyle bir zorunluluğu olmamasına rağmen maalesef genel kanı bu yönde ülkemizde.

Açık kaynak ise ülkemizde en az anlaşılan kavramlardan biri. Bunda adının yaptığı çağrışımın etkisi de büyük elbette. Hem kullanıcılar, hem de önemli miktarda geliştirici bir yazılımın kaynak kodunu görebildiğinde onu açık kaynak sanmak gibi bir kavramsal hataya düşüyor [2]. Github benzeri bir kod barındırma ortamına yazılımının kaynak kodlarını koyan bir yazılımcı onun hemen açık kaynak olduğu yanılgısına kapılıyor.

Açık kaynak yanlış anlaşılmaya çok müsait olduğundan açık kaynak ifadesini her kullandığımızda onun kaynağı açık olan yazılım anlamına gelmediğini ve mevcut 10 şartını anlatmak oldukça zor bir iştir. Bunu yapmadığımızda hem özgür yazılım hem de açık kaynak hareketlerinin uğraştıkları konuları önemsememiş oluruz. Özgür yazılım dediğimizde birilerinin kafasını karıştırma riski oldukça düşüktür. Günümüzde gittikçe artan bir hızla özel mülk yazılımların da kaynak kodlarının açıldığını hesaba katarak, insanları yanlış yönlendirmemek için açık kaynak yerine özgür yazılım ifadesini kullanmak daha doğru bir hareket olacaktır.

Düşmanımız açık kaynak değil özel mülk yazılımdır

Özgür yazılım taraftarları olarak sıklıkla açık kaynak ifadesini özgür yazılım olarak düzeltiyoruz. Bunu kafa karışıklığına neden olmamak için yaptığımız halde, istemeden de olsa, sanki açık kaynağın kötü bir şey olduğu algısını da yaratabiliyoruz. Halbuki durum böyle değil. Özgür yazılım ve açık kaynak hareketleri kullanıcıların özgürlüklerini savunan hareketlerdir. Biz özgür yazılım savunucuları açık kaynağı düşman olarak görmeyiz. Hem özgür yazılımın hem de açık kaynak yazılımın insanlık için kötü olarak kabul ettiği yazılımlar özgür olmayan (özel mülk) yazılımlardır.
We in the free software movement don't think of the open source camp as an enemy; the enemy is proprietary (nonfree) software.

[1] http://www.nyucel.com/2017/05/genel-kamu-lisansnn-gpl-onemli-fark.html
[2] http://www.nyucel.com/2017/05/ack-kaynak-sadece-kaynak-koda-erisim.html
[3] http://www.nyucel.com/2017/05/ozgur-yazlm-m-ack-kaynak-m-1.html

28 Mayıs 2017

Posted In: Açık kaynak, Gezegen, Lisans, Özgür yazılım

Özgür Yazılım mı Açık Kaynak mı?

Yazılım lisansları son kullanıcı tarafında neredeyse hiç okunmayan metinler olmalarına rağmen yazılım geliştiriciler arasında bile yaygın olarak okundukları söylenemez. Elbette son kullanıcının yazılım lisansıyla ilişkisi geliştiriciden çok farklıdır. Elindeki yazılımı nasıl değiştireceği, başka bir yazılım içinden nasıl çağırabileceği, statik mi dinamik mi derlemesi gerektiği, kendi koduna birlikte dahil edebileceği yazılımların lisanslarının nasıl olması gerektiği gibi konularla ilgilenmez son kullanıcı. Bu bahsettiğim durumlarda geliştiricilerin nasıl davranması gerektiği lisans metinlerinde genellikle ayrıntılı olarak tarif edilir.

Son kullanıcı genellikle yazılımı özgürce kullanabiliyor mu, başkasıyla paylaşabiliyor mu, gelecekte de kullanabilecek mi, güvenli mi gibi konularla ilgilenir. Son kullanıcının yazılımın lisansını okumadan da onunla ilgili neler yapabileceğini öğrenmesinin bir yolu yazılım lisansının hangi sınıfa girdiğini ve o sınıftaki yazılımların belirleyici özelliklerini bilmesidir. Eğer yazılım bir özgür yazılımsa onunla yapılabilecek şeyler çok kısa ve net bir şekilde belirlidir [1]. Biraz daha fazla madde içeren açık kaynak bir yazılımın şartları da net olarak tarif edilmiş durumdadır [2]. Örneğin elde ettiğiniz yazılım GPLv3 ile lisanslanmışsa ve bu lisansın bir özgür yazılım lisansı olduğunu biliyorsanız diğer ayrıntılarla çok ilgilenmeden onu gönül rahatlığıyla kullanabilirsiniz.

Özgür yazılım ve açık kaynak lisanslarıyla ilgili şartları okuduğunuzda aradaki farkı kolayca anlamanız mümkün olmayabilir. Bu sizi tedirgin etmesin zaten büyük kalabalıkların da durumu böyle. Bir yazılıma açık kaynak dediğinizde biri sizi "hayır o özgür yazılım" diye uyarıyorsa "arada ne fark var?" diye sorun. Çok büyük ihtimalle açıklayamayacaktır. Bu yazıyı çok uzatmamak için aradaki kavramsal ayrılıkları bir başka yazıya bırakıp burada hangi lisanslar özgür yazılım, hangileri açık kaynak kategorisine giriyor göstermek istiyorum.

Hangi lisansların özgür yazılım kategorisine girdiğini görmek isteyenler buraya [3], açık kaynak yazılım lisanslarının hangileri olduğunu görmek isteyenler buraya [4] bakabilirler. Özgür yazılımla ilgili bağlantıya bakarsanız (biliyorum çoğunluk bakmayacak) hangi lisansların GPL-uyumlu olduğunu, hangilerinin GPL uyumlu olmasa da özgür yazılım olduğunu görebilirler. Hangi lisansların özgür yazılım lisansı olarak kabul edilmediği de nedenleriyle birlikte açıklanmış durumda. Bir lisansın GPL-uyumlu olması o lisansla yazılmış bir kodun GPL lisanslı bir yazılıma dahil edilip dağıtılabileceği anlamına gelir.

GPLv3 uyumlu özgür yazılım ve açık kaynak lisansları


Aşağıdaki lisanslar hem GPLv3-uyumlu özgür yazılım lisansları, hem de açık kaynak lisanslarıdır. Sayıları sizi şaşırtacak kadar fazla olan bu lisansların listesi şöyle:
  • 2-clause BSD License (BSD-2-Clause)
  • 3-clause BSD License (BSD-3-Clause)
  • Apache License 2.0 (Apache-2.0)
  • Artistic License 2.0 (Artistic-2.0)
  • Boost Software License (BSL-1.0)
  • CeCILL License 2.1 (CECILL-2.1)
  • EU DataGrid Software License (EUDatagrid)
  • eCos License version 2.0
  • Educational Community License, Version 2.0 (ECL-2.0)
  • Eiffel Forum License V2.0 (EFL-2.0)
  • GNU Affero General Public License version 3 (AGPL-3.0)
  • GNU General Public License version 2 (GPL-2.0)
  • GNU General Public License version 3 (GPL-3.0)
  • GNU Lesser General Public License version 2.1 (LGPL-2.1)
  • GNU Lesser General Public License version 3 (LGPL-3.0)
  • Historical Permission Notice and Disclaimer (HPND)
  • ISC License (ISC)
  • MIT License (MIT)
  • Mozilla Public License 2.0 (MPL-2.0)
  • Python License (Python-2.1)
  • Sleepycat License (Sleepycat)
  • Universal Permissive License (UPL)
  • W3C License (W3C)
  • wxWindows Library License (WXwindows)
  • Zope Public License 2.0 (ZPL-2.0)
  • zlib/libpng license (Zlib)

GPLv3 uyumlu olmayan özgür yazılım ve açık kaynak lisansları

Bazı özgür yazılım lisansları GPL-uyumlu olmayabiliyor. Genel Kamu Lisansının diğer özgür yazılım lisanslarından farkını daha önce yazmıştım, belki okumak isteyebilirsiniz şimdi [1]. GPL uyumlu olmadığı halde özgür yazılım lisansı olan lisansların sayısı da az değil. Bunların arasından açık kaynak lisansı olarak da adı geçenlerin listesi de şöyle:
  • Academic Free License 3.0 (AFL-3.0)
  • Apple Public Source License (APSL-2.0)
  • Common Public Attribution License 1.0 (CPAL-1.0)
  • Eclipse Public License 1.0 (EPL-1.0)
  • European Union Public License, Version 1.1 (EUPL-1.1)
  • IBM Public License 1.0 (IPL-1.0)
  • LaTeX Project Public License 1.3c (LPPL-1.3c)
  • Lucent Public License Version 1.02 (LPL-1.02)
  • Microsoft Public License (MS-PL)
  • Microsoft Reciprocal License (MS-RL)
  • Mozilla Public License 1.1 (MPL-1.1)
  • Nokia Open Source License (Nokia)
  • Open Software License 3.0 (OSL-3.0)
  • PHP License 3.0 (PHP-3.0)
  • Q Public License (QPL-1.0)
  • RealNetworks Public Source License V1.0 (RPSL-1.0)
  • Sun Public License 1.0 (SPL-1.0)
  • Zero Clause BSD License (0BSD)

Açık kaynak olduğu halde özgür yazılım olmayan lisanslar

Peki açık kaynak olduğu halde özgür yazılım lisansı olarak kabul edilmeyen lisanslar neler? diye soruyor olmalısınız şimdi? Eğer özgür yazılımın ve açık kaynağın şartlarını okumuşsanız bunun kolay kolay sağlanamayacak bir durum olduğunu biliyor olmalısınız ama [3] ve [4] adreslerinde adı geçen ve bu şartı sağlayan sadece bu kadar az lisans olduğunu okumak sizi şaşırtacaktır sanırım. Eğer bu lisanslardan biriyle lisanslanmış bir yazılıma açık kaynak derseniz doğruyu söylemiş olurken, özgür yazılım derseniz hatalı bilgi vermiş olursunuz.
  • NASA Open Source Agreement 1.3 (NASA-1.3)
  • Reciprocal Public License 1.5 (RPL-1.5)
  • Sybase Open Watcom Public License 1.0 (Watcom-1.0)
Buraya kadar sabırla okuduysanız bütün özgür yazılımların doğal olarak açık kaynak olduğunu biliyor olmalısınız. Bu bilgilerden sonra neredeyse bütün açık kaynak yazılımların da özgür yazılım olduğunu görmüş oldunuz.

Arada hiç mi fark yok?

Her ne kadar neredeyse bütün açık kaynak yazılımlar özgür yazılım olmanın kriterlerini yerine getiriyor olsalar da doğrusu yazılım kendisini nasıl tanımlıyorsa o terimi kullanmaktır. Örneğin Genel Kamu Lisansı ile lisanslanmış bir yazılım kendini açık kaynak olarak tanımlıyorsa ona açık kaynak demek doğrusudur ama tersini söylemekte de teknik olarak hatalı bir durum olmadığı herkesçe açık olmalı.

Özgür yazılım ve açık kaynak aynı şey mi?

Yukarıda okuduğunuz şeylere rağmen özgür yazılım ve açık kaynak farklı dünya görüşlerini temsil eden fikirler. Bu konu hakkında ayrı bir yazı okumak isterseniz buradan okuyabilirsiniz.

[1] http://www.nyucel.com/2017/05/genel-kamu-lisansnn-gpl-onemli-fark.html
[2] http://www.nyucel.com/2017/05/ack-kaynak-sadece-kaynak-koda-erisim.html
[3] https://www.gnu.org/licenses/license-list.html
[4] https://opensource.org/licenses/alphabetical

20 Mayıs 2017

Posted In: Açık kaynak, Gezegen, Lisans, Özgür yazılım

Özgür yazılım penceresinden WannaCry

Birkaç gündür neredeyse bütün haberlerde bir fidye yazılımı olan WannaCry hakkında okuyoruz. Microsoft'un bütün işletim sistemlerini etkileyen bir samba açığından faydalanan bu yazılım kullanıcıların bilgisayarlarındaki dosyaları şifreledikten sonra 300$ ödeme yapmaları halinde bu durumdan kurtulabileceklerini anlatan bir mesaj gösteriyor. İşin teknik kısmı hakkında çokça yazılıp çizildiğinden bu yazıda başka bir konudan; özgür yazılımın yaşananlara nasıl bakması gerektiğinden bahsetmek istiyorum. Sadece Microsoft'un işletim sistemlerini etkileyen bu büyük açığı bir avantajmış gibi kullanmadan önce aşağıdaki konularda düşünmemiz gerekiyor.


Neden özgür yazılım kullanılsın istiyoruz?

Biz özgür yazılımları daha güvenli oldukları, daha hızlı oldukları veya daha özelleştirilebilir oldukları için mi kullanıyoruz? Toplam sahip olma maliyetleri daha düşük diye mi özel mülk yazılımlar yerine özgür yazılımları tercih ediyoruz? Özgür yazılımlar bu saydığım avantajlara hatta daha fazlasına sahip oldukları halde sahipli yazılımlar karşısındaki gerçek üstünlükleri bunlar değil elbette. Özgür yazılımları herkesin istediği amaçlar için çalıştıramadığı, programın nasıl çalışabildiğini anlayamadığı, ihtiyacına uygun şekilde değiştiremediği, elindeki yazılımı dağıtmasının önünde kısıtlamaları olan sahipli yazılımlarla karşılaştırmaya buradan başlamamamız gerekir. Eğer temel argümanımız hız, güvenlik, ucuzluk olursa yarın sahipli bir yazılım bu konularda öne geçtiğinde söyleyecek sözümüz kalmaz. Kendimizi kandırmayalım bazıları hali hazırda bu konuların bazılarında daha ilerideler ama biz yine de özgür yazılımları kullanma taraftarıyız. İnsanların özgürce kullanıp, dağıtamadığı yazılımları özgür yazılımlarla kıyaslamaya başlamadan önce onların minimum insani ihtiyaçları karşılamaları gerekir [1]. İnsanlara, şirketlere, kamuya neden özgür yazılımlar kullanmaları gerektiğini doğru argümanlarla açıklamak çok önemli [2].

Özgür yazılım kullanılsaydı benzer bir durumla karşılaşılamaz mıydı?

Elbette karşılaşılabilirdi. Hatta karşılaşıldı da. GNU/Linux ve *BSD'lerde en çok kullanılan kabuk olan bash'in bu hatayla karşılaştırılabilecek büyüklükte bir hatası olan shellshock ancak 25 yıl sonra farkedilebildi. Bash'in kaynak kodları bu süre boyunca hepimizin gözlerinin önündeydi hem de. Bu yazdıklarımdan elbette kaynak kodların erişilebilir olmasının güvenlikle ilgili olumlu etkisinin olmayacağı anlamı çıkartılmamalıdır [3]. Bugün yaygın olarak kullanılan bir özgür yazılıma eklenen kodlara dünyanın her köşesinden geliştiriciler, geliştirici adayları ve meraklılar bakıyor. Kaynak kodlarını göremediğimiz bir yazılıma bir arka kapı kolaylıkla eklenebilirken aynı şeyi bir özgür yazılıma yapmak (imkansız demeyeyim ama) çok çok zordur. Durum böyle olmasına rağmen özgür yazılımlarda güvenlik sorunu hiç olmaz dememek gerekir, çünkü yaşadığımız örnekler var. Bugün wannacry sadece Windows'ta yaşanıyor siz GNU/Linux kullanın dersek yarın shellshock benzeri bir durumda söyleyecek sözümüz kalmaz. Bizim temel argümanımız özgürlük olmalıdır ve bu GNU/Linux kullanın demek için yeterlidir.

Microsoft'un neredeyse kimsenin kullanmadığı samba-v1'e hala destek veriyor olması görülmedik bir şey midir?

Geriye uyumluluk bütün yazılımların ciddi sorunlardan biri durumunda maalesef. Eski sürümlere destek verildiğinde böyle şeyler olabilirken desteğin kesilmesi de başka sorunlara yol açabiliyor bazen. Windows10'a bile samba-v1.0 desteğini vermesi elbette Microsoft'un kabahati ama bu hiç yapılmayan bir yanlış da değil. Neredeyse her yerde TLS 1.2 kullanılırken SSL'in eski sürümlerine verilen desteğin suistimal edilmesi yüzünden yaşadığımız şeyler üzerinden çok da uzun zaman geçmedi. Microsoft zamanında Windows'lardan bu desteği kaldırabilirdi ve bu onu daha iyi bir işletim sistemi yapmazdı. Bizim windows ve diğer sahipli işletim sistemlerini kullanmayın dememizin arkasında yatan şey onların tasarım ve planlama hataları değil özgür olmamalarıdır.

Microsoft Windows XP kullanıcılarına bir şey borçlu mu?

Microsoft'un Windows XP'yi piyasaya sürüş tarihi 2001. Elimizi vicdanımıza koyup konuşalım hangi işletim sistemine 16 yıl destek veriliyor? Dört yıl önce XP desteği artık sona erdi diye de yazdılar. XP çıktığı tarihte piyasada olan Debian 2.2 veya Redhat 6.2 için destek alamadığından şikayetçi kimse var mı? Aradan geçen bunca yılda kamunun kaynaklarını bir özgür işletim sistemine geçişte kullanmamış ve hala Windows XP kullandıran yöneticiler kusura bakmasınlar ama suçun önemli bir kısmı onları üzerinde. 

WannaCry'dan etkilenenler elbette sadece XP kullanıcıları değil bütün Windows sürümlerinin kullanıcıları oldu ama tahmin edilenin çok üzerinde XP kullanıcısı olduğu da görülmüş oldu. Bir kurumun yöneticisi arka planda ne yaptığını bilmediği, en temel insani ilkelere uygun olmayan bir işletim sistemini kullandırıyorsa suçu Microsoft'a atamaz bence.

GNU/Linux veya BSD'ler Windows'un alternatifi mi?

Özgür yazılımdan, özgür işletim sistemlerinden sanki Windows'un alternatifiymiş gibi bahsetmeyi kabul edilemez buluyorum. Bu konuda daha önce çokça yazdığım için tekrarlamak yerine aşağıya bağlantılarını bırakıyorum. [4], [5], [6]

16 Mayıs 2017

Posted In: Gezegen, gnu, güvenlik, linux, microsoft, Özgür yazılım, wannacry

Tüm yorumları göster/gizle toggle menü elemanı eklendi.

LibreOffice Calc bileşenine daha önce "tüm yorumları göster ve gizle" seçeneklerini ayrı ayrı komutlar halinde eklemiştim. Arkasından bunun toggle halde çalışan halinin de eklenmesini istemişlerdi. Ekledim. 5.4 sürümünden itibaren kullanılabilecek.

İlgili hata kaydı: https://bugs.documentfoundation.org/show_bug.cgi?id=107258
Gönderdiğim yama: https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=198f5a16fd4c5bf691a3450bbf16e88c000f9baa
Sürüm notu: https://wiki.documentfoundation.org/ReleaseNotes/5.4#Calc

Bu iki seçeneği ayrı ayrı eklemişken toggle butonu yapmak ilk bakışta kolayca olmalı gibi geliyor insana. Ama durum öyle değil. Yazılmış eski iki komutu çağırarak yapmak mantıklı gibi görünüor olsa da LibreOffice'in kullandığı UNO komutları bir görevi bağımsız bir şekilde yerine getirmeyi hedefler. Bu yüzden bir komutu başka bir komutun içinden çağırmak çok mecbur kalınmadıkça uygun değil.

Bu toggle buton için bazı kısımları yeniden yazmam ve yeni kullanım senaryosuna göre ayarlamam gerekti. Şimdi komutların ayrı ayrı olması ve bir arada çalışması(toggle) durumunun gerçekleştirilme senaryoları arasındaki farkı şöyle anlatayım:

*Bu seçenek kullanıcıya belgede yorum var mı diye yapılan kontrolün sonucunda ancak belgede yorum varsa göründüğü için  belgede yorum yoksa senaryosunu değerlendirmeye gerek yoktur.

Ayrı ayrı tüm yorumları göster/gizle 

Kullanıcı tüm yorumları göster seçeneğine tıklar:
  1. Geri Al yöneticisi başlatılır 
  2. Seçili tablolar bir listeye atanır
  3. Bu tablolar içindeki tüm yorumlar bir listeye atanır. 
  4. Yorumlar listesinin içindeki her yorumun durumu görünür yapılır.
  5.  Geri Al yöneticisi bitirilir
(Zaten hepsi görünür durumdaysa kontrolü yapılmaya değer bulunursa  ekleyeceğim. Bazen performansı arttırma çabası karmaşıklığı arttırıp tam tersi etki yaratabilir.)

Toggle tüm yorumları göster/gizle


Yorumlar için 3 durum mevcuttur:
  • Hepsi görünür durumda
  • Hepsi gizli durumda
  • Karışık
Öncelikle belge açılırken ya da belgenin durumu değiştiğinde seçeneğin işaretli mi değil mi olacağına karar vermek gerekir
  1.  Seçili tablolar bir listeye atanır (Açılış durumunda bu güncel tabloya denk gelir)
  2. Bu tablolardaki yorumlar bir listeye atanır. (Performansı arttırmak açısından "karışık" durumunun en erken tespiti için yorumlar tablolar bazında değil kolonlar bazında incelenir)
  3.  Bu yorumların durumları tespit edilir
  4. Butonun seçili olması ya da olmaması durumu gerçekleştirilir.
 Butonun durumuna karar verildi. Varsayalım ki tüm yorumlar başta açık halde olsun öyleyse buton seçili görünecek. ve görevi tüm yorumları gizlemek olacak Şimdi kullanıcı bu butona tıkladığında:
  1.  Seçili tablolar bir listeye atanır (Hiçbir tablonun seçili olmaması durumu yoktur)
  2. Bu tablolardaki yorumlar bir listeye atanır.
  3. Geri Al yöneticisi başlatılır
  4.  Yorumlar listesindeki tüm yorumlar kapalı hale getirilir.
  5.  Butona göster görevi atanır
  6.  Geri Al yöneticisi bitirilir
  7. Butonun nasıl görüneceği durumu güncellenir.
Seçim durumu değiştiğinde tüm adımlar en baştan tekrar edilir.

11 Mayıs 2017

Posted In: calc, comment yorum, free software, freedom, Gezegen, hesap tablosu, libreofis, Özgür yazılım, toggle

Genel Kamu Lisansının (GPL) önemli farkı: Copyleft

Özgür yazılım sade ve güçlü bir mekanizma üzerine kurulu bir felsefe. Özel mülk yazılım lisansları nasıl firmaları koruyan hükümler içeriyorsa özgür yazılım lisansları da kullanıcıları, yani toplumu korumaya çalışıyorlar. Bir yazılım lisansının özgür yazılım lisansı kabul edilebilmesi için ilgili yazılımla ilgili aşağıdaki dört temel özgürlüğü garanti etmesi gerekiyor:
  • Yazılımı herhangi bir amaç için çalıştırma özgürlüğü,
  • Yazılımın nasıl çalıştığını öğrenme ve onu değiştirme özgürlüğü,
  • Yazılımı yeniden dağıtma özgürlüğü,
  • Yazılımın değiştirilmiş halinin dağıtılabilmesi özgürlüğü.
Elbette bunlar çok genel hükümler ve bunları sağlayan çok sayıda özgür yazılım lisansı mevcut. Lisans metinleri çoğunlukla ayrıntıları da tanımlayan, özel durumlarda nasıl davranılması gerektiğini tarif eden hukuki metinler. Yazılım geliştiricilerin bu lisans metinlerini okumamak gibi bir lüksü olamaz çünkü yaptıkları iş açısından çok belirleyici metinler bunlar. Yazılımlar hemen hemen her zaman başkalarının yazdıkları kitaplıkları içerdiğinden geliştiricilerin hangi kitaplıkları kendi yazılımına dahil edip edemeyeceğini, hangi kitaplıkları bir arada kullanabileceğini bu metinlerden başka öğrenebilecekleri bir alternatifleri yoktur.

Aslında kullanıcılar da bir yazılımı kullanmadan önce onun getirdiği kısıtlamaları ve sağladığı özgürlükleri öğrenebilmek için bu lisansları okumalı ama hem metinler yer yer teknik ifadeler içeriyor hem de çok uzunlar. Asıl bağlayıcı metinler İngilizce olanlar olmasına rağmen Linux Kullanıcıları Derneğinin kamuoyunun kullanımına sunduğu Özgür Yazılım Lisansları sayfası oldukça yararlı olacaktır. Eğer yazılım geliştiricisi değilseniz özgür yazılımın temel kavramlarını ve kullandığınız yazılımın bir özgür yazılım olduğunu bilmek yeterli bir güven zinciri oluşmasını sağlayabilir.

İdeal bir dünyada yukarıdaki dört şart yeterli olabilecekken günümüz dünyasında özgür yazılımların özel mülk yazılımlara dönüştürülmesinin önüne geçmek için bazı önlemler almak gerekmektedir. Genel Kamu Lisansının yukarıdaki şartlara ek olarak getirdiği en önemli farklılık Copyleft'tir.


Copyleft yazılımınızın mevcut halinin ve/veya değiştirilmiş halinin de özgür yazılım olarak kalmasını garantilemenin bir yoludur. Copyleft bir özgür yazılımı alan kişilere onun özgün halini ve/veya değiştirilmiş halini yine özgür yazılım olarak dağıtmaları gerektiğini söyler. Yani elde ettiğiniz Copyleft özelliğine sahip bir yazılımı aldığınız özgürlükleri aynen devretmeden dağıtamazsınız. Bu şartın bütün özgür yazılımlara ait olmadığını sadece Copyleft'in bir getirisi olduğunu akıldan çıkartmamak gerekir. Bütün özgür yazılımların böyle zorunlulukları yoktur. Bazı özgür yazılım lisansları aldığınız yazılımın kaynak kodunu kapatıp özel mülk yazılım olarak dağıtmanıza bile izin verir. GPL Copyleft özelliğini taşıyan bir özgür yazılım lisansıdır. Özgür yazılımların bir listesi için bu adrese bakabilirsiniz.

Copyright, yani telif hakkı, kullanıcıların özgürlüklerini kısıtlamak için kullanılan bir terim iken Copyleft bu özgürlüklerin devam etmesini garanti altına almaya yöneliktir. Adının çağrıştırdığının aksine Copyleft, Copyright'ın tersi değil onu kullanmanın bir yoludur. Copyleft yazılımın telif hakkından vazgeçmek anlamına gelmediği gibi eğer telif hakkından vazgeçerseniz Copyleft'in kullanımının şartları ortadan kalkmış olur. Yani telif hakkına sahip olmadığınız bir yazılımın nasıl dağıtılacağına zaten karışamazsınız.

Yazdığınız kodu Genel Kamu Lisansıyla nasıl lisanslayabileceğinize dair bu yazıyı da okumak isteyebilirsiniz.

11 Mayıs 2017

Posted In: copyleft, Gezegen, gpl, Lisans, Özgür yazılım

LibreOffice Calc Hücre Korumasını Aç/Kapat toggle butonu eklendi

LibreOffice'de varsayılan olarak tüm hücreler koruması açık olarak gelir. Bu koruma ancak siz çalşma kağıdını koruma altına aldığınuzda aktif olur. Bir hücrenin koruma durumunu değiştirmek için önceden izlemeniz gereken yol aşağıdakilerden biriydi:

Sağ Tık -> Hücreleri Biçimlendir -> Hücre Koruma sekmesini seç -> Korunuyor Seçeneğinin yanındaki tiki kaldır.

ya da

Menü -> Biçim -> Hücreler -> Hücre Koruma sekmesini seç -> Korunuyor Seçeneğinin yanındaki tiki kaldır.

Şimdi eklediğim yeni buton aracılığıyla hücreyi korumalı ya değil olarak ayarlayabilmek için tek butona tıklamanız yeterli olacak. 5.4 sürümünden itibaren kullanılabilecektir.



Son durum: Buton araç çubuğundan menü çubuğuna taşındı.

Hata kaydı: https://bugs.documentfoundation.org/show_bug.cgi?id=95885
Gönderdiğim yama: https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=9691f2652f157f375881aea3bf5e39d72a133e0f
İlgili sürüm notu: https://wiki.documentfoundation.org/ReleaseNotes/5.4#Calc


5 Mayıs 2017

Posted In: calc, cell protection, free software, Gezegen, hesap tablosu, hücre koruma, libreofis, Özgür yazılım, toggle

Google Summer of Code 2017

Bu yıl kabul edilen bizim çocuklar:

Memduh Gökırmak: Crimean Tatar-Turkish MT

Mustafa Özçelikörs: A4MCAR: A Distributed and Parallel Demonstrator for Eclipse APP4MC

Okan Aşık: JdeRobot GSOC'17 Application for Visual HFSM Project

Altay Adademir: Project IX: Expanding the Extension Manager

Asil Kaan Bozcuoglu: Knowledge and Learned Model Exchange Between Robotic Agents using openEASE

Gökhan Gurbetoğlu: Improvements to Notebookbar

Muhammet Kara: Revamp the Customization dialog

Hasan Balcı: Cytoscape.js Extension for Querying Large Networks

Duygu Keşkek: SunPy Website Improvements

Candan Eylül Kilsedar: OSM extrusion adapter

Semih Serhat Karakaya: Security App

Alperen Karaoğlu: Performance Co-Pilot Project Proposal: Blocked process detection and reporting

Canberk Koç: Store integration for Taler merchants



Meraklısı için: 2006200720082009201020112012201320142015, 2016

4 Mayıs 2017

Posted In: Gezegen, gsoc, haber

Açık kaynak sadece kaynak koda erişim anlamına gelmez!

Açık kaynak (open source) Türkçede nadiren doğru kullanılan bir terim. Özgür yazılım yerine bilerek/bilmeyerek açık kaynak denildiği gibi bazen de sadece kaynak kodun ulaşılabilir olması bile bir yazılıma açık kaynak denilmesine neden olabiliyor. Özgür yazılım ile açık kaynak yazılım arasındaki farkları başka bir yazıya bırakarak burada bir yazılımın açık kaynak yazılım sayılabilmesi için gerekli koşulları açıklayalım.

Açık kaynak girişimi genel kanının aksine özgür yazılım hareketinden çok sonra başlamıştır. Özgür yazılım gönüllülerinin taraftarı olmadıkları bir yazılım felsefesi olsa da açık kaynak yazılımların sadece kaynak kodlarının açık olduğu, başka bir özgürlüğü beraberinde getirmediği fikrini maalesef çok yaygın olarak duyuyoruz. Hatta özel mülk bir yazılımın kaynak kodunu github benzeri bir ortamda görenlerin onu açık kaynak yazılım sanması bile az rastlanır bir şey değil. Aslında son derece açık bir konu olmasına rağmen en çok kafa karışıklığına neden olan konulardan da biri. Bir açık kaynak yazılım lisansının sağlaması gereken şartlar aşağıdaki gibi:


1. Ücretsiz yeniden dağıtım
Bir açık kaynak yazılım lisansı ile yazılımın satışı veya başka yazılımların bir parçası olarak dağıtılması kısıtlanamaz ve bu satışlardan bir pay talep edilemez.

2. Kaynak kod
Programın kaynak kodu içermesi ve derlenmiş haline olduğu gibi kaynak kodun da dağıtılmasına izin vermesi gereklidir. Programın kaynak kodu içermeyen bir biçimi varsa tercihen web adresinden ücretsiz indirilmesine izin verilmelidir. Kaynak kodun bir programcının değiştirebileceği bir biçimde olması gerekir. Kasten karmaşıklaştırılmış veya bir çeviriciden geçirilmiş kodlar kabul edilmez.

3. Türetilen işler
Bir açık kaynak lisansı değişikliklere ve türetilen işlere izin vermeli ve onların özgün yazılımın lisansı ile aynı şartlarda dağıtılmasına izin vermelidir.

4. Yazarın kaynak kodunun bütünlüğü
Lisans yazılımın kaynak kodunun değiştirilmiş halinin dağıtılmasını ancak tek bir durumda kısıtlayabilir. Bunun mümkün olabilmesi için yazılım kaynak koduyla birlikte derleme zamanında kullanılabilecek yama dosyalarının dağıtımına izin verilmelidir. Böyle bir şey yapıldığında lisansta açıkça yazılımın değişiklik yapılmış kaynak koddan derlenebileceği belirtilmelidir. Yazılım kaynak kodda değişiklik yapılıp derlendiğinde isminin veya sürüm numarasının değiştirilmesini gerekli kılabilir.

5. Kişi veya gruplara yönelik ayrımcılık yapılamaz
Yazılım lisansıyla herhangi bir kişiye veya gruba yönelik bir kısıtlama getirilemez. Bazı ülkelerin ticaret kanunları böyle şeyler yapmayı zorunlu kılıyor olabilir ama lisansta bu yasalara uyma gerekliliğini hatırlatılabilir ancak kendisi bu kısıtlamalara dahil olamaz.

6. Çalışma alanına yönelik ayrımcılık yapılamaz
Yazılımın herhangi bir amaç için çalıştırılması engellenemez. Örneğin bir yazılımın ticari kullanım veya genetik araştırmalar için kullanılması kısıtlanamaz.

7. Lisansın dağıtımı
Programa eklenen haklar ayrıca bir sözleşmeye gerek kalmadan programın yeniden dağıtıldığı herkes için geçerli olmalıdır.

8. Lisans bir ürüne özgü olmamalı
Programa eklenen haklar, programın belirli bir yazılım dağıtımının parçası olmasına bağlı olmamalıdır. Program bu dağıtımdan çıkarılır ve lisans koşulları dahilinde kullanılır veya dağıtılırsa, programın yeniden dağıtıldığı tüm taraflar, orijinal yazılım dağıtımı ile birlikte verilenlerle aynı haklara sahip olmalıdır. Örneğin bir ofis paketini açık kaynak lisanslarından biriyle lisansladığınızda bileşenlerinden birinin ancak bu paketle birlikte kullanıldığında lisansla verilen haklara sahip olacağını söyleyemezsiniz. Her bir bileşen ayrı ayrı da kullanılsa lisans aynen geçerli olmalıdır.

9. Lisans diğer yazılımları kısıtlamamalı
Lisans, lisanslı yazılımla birlikte dağıtılan diğer yazılıma kısıtlamalar getirilmemelidir. Örneğin, lisans, aynı ortamda dağıtılan diğer tüm programların açık kaynaklı yazılım olması gerektiğinde ısrar etmemelidir. GPL ile lisanslanan yazılımlar da bu koşulu sağlarlar. Bu koşulu yazılımınızda GPL lisanslı bir kod parçasını veya GPL lisanslı bir kitaplığı kullanmanız durumunda yazılımınızı da GPL ile lisanslamanız gerekmesiyle karıştırmamak gerekir. Bir GNU/Linux dağıtımının açık kaynak lisanslı bir programı dağıtması onun sadece benzer lisanslı yazılımları dağıtabileceği anlamına gelmemesi gibi düşünülebilir.

10. Lisans bir teknolojiye bağımlı olmamalıdır
Lisansın hiçbir hükmü bir teknolojiye veya arayüze bağımlı olmamalıdır. Kullanıcının bir arayüzde koşulları kabul etmesi ve bir düğmeye tıklaması gibi zorunluluklar karşısında alternatifsiz bırakmasına izin verilmemektedir.

Gördüğümüz gibi bir yazılımın açık kaynak lisansına sahip olması onun sadece kaynak kodlarına ulaşılabildiği anlamına gelmediği gibi açık kaynak bir yazılımı alıp kaynak kodunu kapatarak dağıtamazsınız. Açık kaynak yazılım lisanslarının listesine buradan bakabilirsiniz.

2 Mayıs 2017

Posted In: Açık kaynak, Gezegen, Lisans, Özgür yazılım, yazılım

Twitter Auto Publish Powered By : XYZScripts.com