Paolo Bonzini wytyka FSF błędy w prowadzeniu projektów GNU

34
1293
GNU - logo
GNU - logo

Paolo Bonzini zrezygnował ze stanowiska opiekuna GNU sed (po 8 latach) oraz GNU grep (po 3 latach). Powodem odejścia była niedawna wiadomość Nikosa Mavrogiannopoulosa o przeniesieniu rozwoju narzędzia GnuTLS poza infrastrukturę projektu GNU, a także niezadowolenie obu programistów z decyzji i praktyk, jakie są ostatnimi czasy stosowane przez Free Software Foundation.

Paolo zawarł to w trzech punktach:

  1. Jedynym sposobem na bycie liderem w projekcie GNU, jest kompletne zignorowanie uwag ze strony FSF. Dzięki temu GNU Compiler Collection przeszło po części z C do C++, a GNOME zaczął wykorzystywać JavaScript w GNOME Shell. Czasami jedna osoba decydująca w projekcie to dobra sprawa. Jednakże niektóre decyzje Richarda Stallmana są nader kontrowersyjne, powodują zastój w kwestii standardów kodowania, które stają się archaiczne. Dobrym przykładem niech będzie wypowiedź, że nadal wolimy C od C++, bo C++ jest brzydki (We still prefer C to C++, because C++ is so ugly).
  2. GNU robi zbyt mało dla FSF, a FSF nie stara się wspomóc GNU. Od czasu dużego sukcesu wolnego oprogramowania, czyli manifestu GNU, dystrybucja open source nie jest już czymś ekskluzywnym, ale normalną rzeczą. Dodatkowo FSF nie stara się w jakikolwiek sposób wypromować marki GNU, czego przykładem jest choćby projekt Gnash, który z powodu braku funduszy i zdjęcia go z priorytetów fundacji, stanął w miejscu. To samo tyczy się całej listy innych aplikacji, które po prostu są martwe.
  3. Przypinanie etykiety GNU do jednego programu, nie czyni go już więcej atrakcyjnym. Ludzie oczekują, że GNU będzie wolne, jak słoń, aniżeli szybkie i zwinne jak gazela. Wyjątkiem niech będzie tu projekt LLVM, który rozwijał się bardzo powoli, dopóki firma Apple nie zainteresowała się nim i nie dała mu odpowiedniego rozpędu. Dzięki temu dzisiaj LLVM jest użytkowany przez takie firmy, jak nVidia.

Bycie częścią GNU nie jest już oznaką bycia technicznym liderem. Jeżeli jest to robione kiepsko w Uniksie, każdy może dowolnie skopiować to i stworzyć lepszy projekt. Czy o to chodzi w dzisiejszym świecie GNU?

Paolo Bonzini pozostaje nadal aktywny w projektach GCC i GNU Smaltalk, jednakże nie zdecydował się jeszcze odnośnie tego ostatniego. Planował nawet przeniesienie Smaltalka pod parasol GNOME, ale na to potrzeba czasu, którego aktualnie nie ma, ze względu na rodzinę.

ŹRÓDŁOarticle.gmane.org
Poprzedni artykułOpenNI SDK 2.0
Następny artykułLinux Mint 14 KDE
Michał Olber
Interesuję się głównie sprzętem i działaniem jego pod systemami GNU/Linux. Testuję różne dystrybucje i robię recenzje. Interesuję się działaniem sprzętu pod Linuksem, dzięki czemu wiem, jaki zestaw komputerowy wybierać :)

34 KOMENTARZE

  1. Panu Stallmanowi już dziękujemy. Zrobił swoje i na starsze lata niech zajmie się czymś sensownym w jego przypadku. preferencja C zamiast C++ jest znana, ale o ile w pisaniu systemu jest to uzasadnione to z biegiem czasu w przypadku większości aplikacji już nie. ogółem przykro mi jest, że GNU i FSF nie współpracują należycie.
    Pozdrawiam, Wesołych Świąŧ

    • Ależ zajmuje się nadal czymś sensownym. Cały czas tym samym, jak również nowymi zagrożeniami dla Wolności. Zapewne nie zauważyłaś, że jego (czarne) proroctwa sprzed 10-15 lat dziś się sprawdzają pod postacią kontroli i cenzury Internetu, DRMów, odebrania użytkownikowi kontroli nad sprzętem i nawet prawa własności do niego.
      Dziś tak samo jak wtedy ludzie uważają, że plecie bzdury. Obudzą się (albo i nie) za 10 lat z ręką w nocniku.

      Więc prędzej podziękujemy Tobie niż Panu Stallmanowi. Miej chociaż odrobinę ogłady by milczeć kiedy nie powinnaś się wypowiadać. I nie takim tonem o takim człowieku.

    • A co on zrobił poza proroctwem? Nic. Jakby się proroctwa nie sprawdziły to nic by się nie stało. Może nazwano by go oszołomem, a tak jest bohaterem. Każdy tak może powiedzieć :]

    • Trochę narzędzi GNU napisał, zorganizował i prowadził cały ruch GNU, mało? To, że jest mądrzejszy i daleko wzroczny to dodatkowy jego plus, bo bez tego nie wiadomo byłoby, w którym kierunku podążać i przed czym się bronić. To o czym mówi to dogłebne zrozumienie zjawisk w IT, spróbuj może też tak potrafisz :-)

    • Ale Pan Bonzini ma 100% racji, wszelkie projekty w ciagu ostatnich 10 lat ze stajni GNU zaczely sie rozwijac w momencie olania Stalmanna i przejscia do pragmatyzmu.

      Teraz "guru" powinien odejsc na emeryture – w sensie niech zostanie publicysta, bo jego pioro ma duza wage i zmusza kazdego sredniointeligentnego typa zmusza do myslenia. Ale nie radzi sobie z rzadzeniem ruchem GNU wiec powinien sie odsunac od projektow.

      W przeciwnym razie narobi wiecej szkod niz pozytku, tak jak JKM dla idei wolnosciowej.

    • Na najniższym poziomie C faktycznie ładniej się kompiluje, nie potrzebuje tablic wirtualnych i innych narzutów wynikających z featurów pełnej obiektowości i rozszerzeń C++.
      Ale niestety kod wygląda znacznie czytelniej i dużo bardziej semantycznie w C++, więc coś za coś.
      Jasne, w C też można pisać duże systemy, ale wymaga to dobrej organizacji i dobrego lidera (patrz jądro Linux, GNU też przez długi czas ).

      Oczywiście jeśli ktoś "lubi" Javę, to próżna dyskusja o "pięknie" C czy C++. Java robi pod spodem taki bloat, że nawet nie warto komentować i żaden programista Javy nie pojmie o czym Stallman i jego (rozumni) przeciwnicy mówią.

    • Ja rozumiem o co mu chodzi, sam uważam że C++ jest językiem wybitnie chaotycznym – ładują instrukcji nowych dziesiątki, a sam język nadal nie ma dobrych narzędzi, dopiero teraz w 11 dodają coś sensownego – automatyczne typowanie (które kiedyś ze standardu było usunięte o ile pamiętam) i lambdy, nawet nie da się przekazać w żaden sposób wskaźnika do metody konkretnej klasy, nawet prostej.

      Co do Javy – programisty nie interesuje co się dzieje "pod spodem", on po prostu pisze i się tym nie przejmuje – to działa i tyle, nawet nie powinien się tym przejmować, bo z założenia kompilacja końcowa ma się odbyć dopiero po uruchomieniu programu dla konkretnego procesora. Tyle że moim zdaniem Java jest językiem dużo mniej chaotycznym jak C++, jej instrukcje opierają się w głównej mierze na klasach, mało jest takich "niskopoziomowych" (ma to swoje zarówno wady i zalety). A C#? Połączyli wady Javy i C++, namespace'y w języku obiektowym? O ile w "zorientowanym plikowo" strukturalnym C++ z możliwością programowania obiektowego (nigdy bym nie nazwał C++ językiem obiektowym, bo nim nie jest, obiektowo to nawet w C można pisać) to musiało być tak rozwiązane, to w języku klasy C# to IMO porażka. Wiele innych cech tego języka też jest co najmniej dziwna, jak np. brak wskaźników, a podobno ma w nazwie literkę "C"…

    • Nowy standard w C++ moim zdaniem nie wnosi wcale tak dużo, nie upiększa to składni i nie zachęca nowych użytkowników do przejścia na C++, choć jest pomocne starym. Lepiej byłoby, żeby włączyć w standard więcej bibliotek lub chociażby włączyć do standardu takie narzędzie jak lazycpp.

      Pewnie Twoja opinia o C# nie jest zbyt powszechna. Ten język jednak ze względu, że powstał później niż Java uniknął niektórych niedoskonałości Javy (chociażby brak podziału na prymitywy i obiekty). Gdyby nie fakt, że jest to produkt jedynie słusznej firmy dla jedynie słusznego sytemu to wolałbym używać C# niż Javę. Na szczęście dla JVM jest Scala.
      W C# jest możliwość użycia wskaźnika, robi się to w części kodu niezarządzanego, ale nikt tego nie poleca bo to same problemy, ale jak ktoś się upiera to można. Pytanie tylko po co?

    • Racja – nowe setki instrukcji wręcz odstraszają nowicjuszy. Jednak moim zdaniem Lambdy to spore ułatwienie, setki razy chciałem jakoś wywołać jakąś metodę nieznaną w czasie pisania biblioteki (swojej) i za cholerę nie dało się odwołać do metody bez pisania setek kolejnych linii, po czym i tak nie miałem gwarancji czy to działa. Ale fakt faktem, Boost alboGLib mógłby się stać standardową biblioteką, zaś z drugiej strony wtedy język straciłby na swojej niskopoziomowości. Osobiście mi to na Linuksie nie przeszkadza (sudo apt-get install boost*), ale portowanie tego potem na windowsa… Na szczęście jest jeszcze framework Qt, który jest dobrym uzupełnieniem braków C++. Pozostaje jeszcze kwestia prowadzenia nagłówków co jest bardzo uciążliwe.

      W Javie 9 też chcą się pozbyć prymitywów, czego osobiście nie uważam za dobry pomysł. W C# miałem ostatnio (nie)przyjemność pracować, osobiście nie znalazłem w tym języku nic zachwycającego, no może poza łatwością tworzenia delegatów bez używania refleksji, albo interfejsów (z drugiej strony obiektowo patrząc interfejsy są poprawnym rozwiązaniem, nie funkcje), z tego co wyczytałem w Javie 8 albo 9 ma być wprowadzony typ delegatów. Z drugiej strony sama Java też nie zachwyca, ale kod piszę raz i wszędzie działa. No i jeszcze jest Scala.

      Nie ma idealnych rozwiązań.

    • Myślę, że to kwestia przyzwyczajenia, za piękny to on jednak nie jest, choć dużo gorzej wygląda C z długimi nazwami funkcji i kaszanką zrobioną przez definicje preprocesora. Większość programistów C nie rozumie po co komu tak rozbudowana składnia jaką ma w porównaniu do C język C++. Trochę to wynika z lenistwa bo nie chce im się poduczyć, wolą rzeźbić pseudo obiektowo w GLib. Pisanie w C dużych programów za wygodne nie jest, C++ jest wygodniejszy, jeszcze wygodniej w Javie czy nawet Pythonie. Tyle, że trzeba jeszcze wziąć pod uwagę wydajność.

  2. W części o Gnashu jest zaburzona przyczynowo skutkowość. Projekt ten niema funduszy, ponieważ przestał być priorytetem, a stało się tak prawdopodobnie dlatego, iż swf nie jest wolnym formatem. Wystarczy przeczytać informację o dystrybucjach linux'a które są rekomendowane a które nie i jeśli któraś umożliwia w łatwy sposób korzystanie z zamkniętego oprogramowania, czy standardów zostaje z stamtąd wykluczona i wpisana do listy odradzanych.

    Niema cienia wątpliwości, że jedyne zastosowanie gnasha, to jego użycie do odtwarzania własnościowych formatów swf – tak więc cały ten projekt od samych swoich podstaw był błędem i dla tego FSF się z niego wycofuje.

    • Akurat według FSF błąd polega na babraniu się w "SWF" zamiast stworzyć własny otwarty format/standard do animacji/apletów.

    • Ale SVG ma żałosną implementację we wszystkich przeglądarkach. Powolność jest tak straszliwa, że można się powiesić.

    • Ale marne implementacje to nie jest wina standardu. Kiedy pragmatyzm zaczyna generować koszt (vendor lock-in, autorytarne decyzje projektowe), to się porzuca własnościowe rozwiązanie i szuka wolnej/otwartej alternatywy. A taka czeka; w części zastosowań SVG jest już porównywalne z SWF (&lt ;http://www.netmagazine.com/features/20-svg-uses-will-make-your-jaw-drop>). Kiedy coś kiedyś musiałem popisać dla weba z wektorami, to SVG to był dla mnie naturalny wybór.
      Tak, jak w innej dziedzinie naturalnym wyborem jest przenośny MathML/TeX a nie rendering rastrowy notacji matematycznych i inżynierskich.
      Rationale za tym stoi takie, że za /standardem/ stoi na ogół zasadnicza praca koncepcyjna, a pomysły i realizacje jednostkowe bywają mocno przypadkowe.

    • Akurat to żaden błąd nie jest. FSF nie pozwoliłaby, żeby promować format, który będziesz mógł wytworzyć tylko za pomocą płatnych i niewolnych narzędzi. To akurat jest słuszne.

  3. Niejasne te zastrzeżenia.

    > 1. Jedynym sposobem na bycie liderem w projekcie GNU, jest kompletne zignorowanie uwag ze strony FSF. […] niektóre decyzje Richarda Stallmana są nader kontrowersyjne, powodują zastój w kwestii standardów kodowania, które stają się archaiczne. […]

    Niekonsekwencja. Więc autorytarne zarządzanie projektem jest czy nie jest słuszne?

    > 2. GNU robi zbyt mało dla FSF, a FSF nie stara się wspomóc GNU.
    I to jest wina samej FSF?

    > Od czasu dużego sukcesu wolnego oprogramowania, czyli manifestu GNU, dystrybucja open source nie jest już czymś ekskluzywnym, ale normalną rzeczą. Dodatkowo FSF nie stara się w jakikolwiek sposób wypromować marki GNU. […]

    Jak to wypromować? Ma niby opłacić kampanię reklamową? GNU może się promować i bronić samo technicznymi przewagami. FSF ciągnęło AFAIR kampanię GPLv3.

    > 3. Przypinanie etykiety GNU do jednego programu, nie czyni go już więcej atrakcyjnym. Ludzie oczekują, że GNU będzie wolne, jak słoń, aniżeli szybkie i zwinne jak gazela.

    Nie wiem, którzy ludzie (chyba poza autorem rzecz jasna), ale na pewno nie ja.

    > […] Wyjątkiem niech będzie tu projekt LLVM, który rozwijał się bardzo powoli, dopóki firma Apple nie zainteresowała się nim i nie dała mu odpowiedniego rozpędu. Dzięki temu dzisiaj LLVM jest użytkowany przez takie firmy, jak nVidia.

    Zainteresowanie nVidii albo Apple'a to nie musi być wyznacznik (dla mnie nigdy nie był). Oznacza on owszem, że projekt ma więcej zasobów (pieniędzy, czasu, programistów). Taki np. optymalizator LLVM+Polly znam ze wsparcia środowisk akademickich, kontrybuuje też Google.

    • >> 3. Przypinanie etykiety GNU do jednego programu, nie czyni go już więcej atrakcyjnym. Ludzie oczekują, że GNU będzie wolne, jak słoń, aniżeli szybkie i zwinne jak gazela.
      >Nie wiem, którzy ludzie (chyba poza autorem rzecz jasna), ale na pewno nie ja.
      Tylko że mam tradycjonalistyczny pogląd na programowanie, nie uznaję wyścigu wersji, i dla mnie numerek 1.0 dopiero oznacza poważne zobowiązanie. Wyklucza to Hurda albo Gnasha z w ogóle oceniania stabilności lub wydajności (nie muszą mieć tych cech na tym etapie swego rozwoju).

    • Większości użytkowników może i nie interesują idee deweloperów, ale te idee mają wpływ na to co robią sami programiści. W końcu to co zrobił Gates to też było przeniesienie idei biznesowych z innych dziedzin na IT.

    • Jestem użytkownikiem końcowym. Nie umiem programować. Nie rozumiem, jak robi się takie łuuu, że komputer działa. Używam GNU/Linux. Nie używam terminala. Używam KDE. Interesuje mnie ideologia wolnego oprogramowania.

  4. Wyłączcie to idiotyczne zwijanie komentarzy…Równie dobrze możecie ukrywać komentarze po przekroczeniu pewnej liczby w ogóle, będzie to równie użyteczne.

    Nie dość, że żeby zobaczyć nowe odpowiedzi, to trzeba rozwinąć każdy komentarz, to jeszcze ten badziew ma błędy i po rozwinięciu nie oznacza, że już głosowaliśmy na jakiś komentarz, więc ciężko wyłowić nowe.

    Ogólnie IntenseDebate to fatalna kupa, ale skoro już tego używacie to chociaż ustawcie to jakoś sensownie.

    • Zatwardzenie wzięło po świątecznym obżarstwie? Przy Twoim komentarzu, te od o_O wychodzą na zupełnie kulturalne.

      PS: A ID zasysa. I auto zawijanie komentarzy też (chociaż domyślam się, że to kwestia optymalizacyjna).

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj