Śledzę projekt Glimpse - projekt widelca GIMP, który ma na celu uczynienie oprogramowania bardziej dostępnym, jednocześnie poprawiając jego wydajność - od dłuższego czasu i ciągle zadawałem sobie wiele pytań dotyczących wizji tego projektu i innych spin-offów projekty, które z tego wynikają. Plik Rzuć okiem na stronę ma wiele odpowiedzi na ogólne pytania, ale nadal pozostawia niektóre bez odpowiedzi.

Cóż, niedawno zadałem swoje pytania bezpośrednio zespołowi Glimpse, a oni odpowiedzieli bardzo szczegółowymi odpowiedziami, które rzuciły światło na przyszłość projektu. Przeczytaj pełne pytania i odpowiedzi w całości poniżej, aby dowiedzieć się, dlaczego ten projekt istnieje, w jaki sposób pomógł ulepszyć GIMP i jak może doprowadzić do jeszcze lepszego darmowego i otwartego edytora obrazów w przyszłości.

Możesz również sprawdzić mój drugi artykuł na ten temat: Czy Glimpse the Future of GIMP?

DMD: Ilu programistów obecnie regularnie pracuje nad Glimpse?

OBJAŚNIENIE: Mamy wiele „strumieni” rozwoju. Glimpse Image Editor to rozwidlenie GNU Image Manipulation Program 2.10.18, a Glimpse NX to planowana przeróbka przy użyciu GTK-RS i komponentów GEGL / BABL.

Bobby Moss (podsumowanie kariery tutaj: https://trechnex.github.io/about/) wykonuje większość prac programistycznych na kodzie rozwidlonym. Otrzymaliśmy wkład od Mathieu Bridona (Flatpak) i Heather Ellsworth (Snapcraft) i oboje są współtwórcami projektu GNOME. Atra i James Daniel również dokonali większości zmian w naszej ikonografii i grafice. Cynthia Revström (znana badaczka bezpieczeństwa) również podpisuje dla nas nasz instalator Windows. Oglądają to setki ludzi na naszym kanale Matrix.

Christopher Davis (współautor GNOME) kieruje nowym Glimpse NX, który będzie oparty na GTK4, zostanie napisany w języku Rust i ponownie wykorzysta komponenty zewnętrzne, takie jak GEGL / BABL. Nacisk zostanie położony w szczególności na UI i UX, a na tym serwerze Discord ogląda to kilkanaście osób.

Luna (niezwykle utalentowany programista) pracuje nad „Yuzu Studio” i kieruje nim. Jest wspomagana przez trzech artystów i projektantów UI i jest projektem spin-off, który ma na celu od podstaw przepisanie. Na jej serwerze Discord ogląda to około 40 osób.

Christopher Davis (współtwórca GNOME) pomaga w zarządzaniu i moderowaniu kanału komunikacyjnego z Bobbym i Luną. Chaomodus (doświadczony administrator systemu Linux) również pomagał w zarządzaniu, moderowaniu i infrastrukturze serwerów przez pięć miesięcy.

DMD: Ilu z tych programistów pracuje jednocześnie nad GIMP, a ilu pracuje wyłącznie nad Glimpse?

OBJAŚNIENIE: Nikt z nas nie uczestniczył w Programie manipulacji obrazami GNU przed rozpoczęciem projektu. Byliśmy użytkownikami końcowymi, którzy byli sfrustrowani problemami, które naszym zdaniem nie zostały rozwiązane.

Bobby Moss działa jako nasz łącznik na kanale IRC projektu, ponieważ ma największe doświadczenie. Zajmujemy się wszelkimi problemami, które twórcy źródłowi chcieliby zgłosić nam na tym kanale IRC. Bobby zgłasza również błędy, które dostrzegamy na serwerze Gitlab należącym do firmy upstream i stara się pomóc w ich rozwiązaniu.

Chociaż zadeklarowaliśmy chęć wniesienia zmian w kodzie z powrotem, zwykle wszelkie zmiany, które wprowadzamy (lub planujemy wprowadzić), są szybko wdrażane ponownie, ponieważ mają znacznie większą liczbę programistów niż my. Alternatywnie, zmiany, o które jesteśmy proszeni, najczęściej okazują się już w głównej gałęzi upstreamu, ale świat nie został jeszcze o tym poinformowany, ponieważ takie zmiany zostały przeznaczone dla Programu manipulacji obrazami GNU 3.0.0. Wydawcy często wycofują zmiany z gałęzi 3.0 na 2.10 i fajnie było zobaczyć, jak publikują o tych na Twitterze w ciągu ostatniego roku.

Jak dotąd, naszym najbardziej bezpośrednim wkładem było dzielenie się darowiznami. Jak dotąd przekazaliśmy 500 USD. Pomogliśmy również w poprawieniu rozmiaru instalacji w systemie Windows, ponieważ wyjaśniliśmy, jak ulepszyliśmy to w naszym projekcie.

Odnieśli także mniej bezpośrednich korzyści, które pojawiły się w wyniku istnienia naszego projektu. Na przykład mogą teraz kierować ludzi do nas, jeśli nie chcą wprowadzać określonych zmian. Ponadto ludzie, którzy nie próbowali GNU IMP od 2.8 (lub nawet wcześniejszych wersji 2.10), ponownie odwiedzają oprogramowanie, ponieważ widzą, że dzieje się coś nowego i interesującego. Niezadowoleni ludzie, którzy mogli zrezygnować z zastrzeżonych rozwiązań alternatywnych, byli znani z tego, że „odbijają się” między naszym projektem a ich projektem, dlatego też w niewielkim stopniu przyczyniamy się do zatrzymania ich użytkowników. Słyszeliśmy fajne historie o nauczycielach, którym udało się przekonać swój szkolny dział IT do ostatecznego wdrożenia oprogramowania z powodu wykonanej przez nas pracy.

Zwykle otrzymujemy niezły rap, ponieważ ludzie błędnie myślą, że jesteśmy projektem o charakterze politycznym. Upstream często postrzega nas jako konkurenta i przeciwnika, a szkoda, ponieważ gdyby taki był nasz zamiar, ich znacznie większe możliwości rozwoju i baza użytkowników zdecydowanie sprawiłyby, że byłoby to dla nich raczej łatwe zwycięstwo! Przez ostatni rok prowadziliśmy nasz projekt jako rodzaj „grupy zadaniowej”, która stara się dotrzeć do ludzi, którzy obecnie nie mają tego samego kodu źródłowego, a także z wyższym celem, aby zachęcić więcej osób do korzystania z wolnego oprogramowania za ich twórczą pracę. Liczby nie kłamią, wyraźnie odnieśliśmy pewne wczesne sukcesy.

DMD: Jakie są główne poprawki / ulepszenia użyteczności, nad którymi pracujesz i kiedy możemy zobaczyć te poprawki zaimplementowane (tj. Ogólny harmonogram)?

PRZEJŚCIE: Pierwotnie chcieliśmy radykalnie zmienić (lub nawet zastąpić) interfejs użytkownika interfejsu użytkownika, ale jest kilka powodów, dla których tak się nie stanie:

  1. To jest 25-letnia baza kodów z dziesiątkami milionów wierszy kodu (zespół GIMP wskazał, że gotowy projekt GIMP ma około 850,000 linii kodu *), setki zależności i wtyczek oraz na wpół ukończone modernizacje oprócz na wpół ukończonych. Nawet najmniejsza zmiana może spowodować lawinę śnieżną! (Dobrym przykładem była zmiana nazwy wtyczki „Gimpressionist”. Wymagało to 149 * ręcznych edycji plików)
  2. Widzieliśmy już, co pojawi się w upstreamie w wersji 3.0.0. Wiemy również, że wszelkie zmiany, które wprowadzamy w wersji 2.10.x, musiałyby zostać odtworzone od zera, ponieważ 3.0.0 wprowadza znaczące zmiany w stosie technologii, na którym będziemy budować
  3. Współautorzy, których przyciągnął nasz projekt, chcą zamiast tego stworzyć nową aplikację do edycji obrazów, ponieważ chcą stworzyć własny stos technologii, zamiast rozwiązywać zagadki kogoś innego

Nie oznacza to, że poprawa użyteczności rozwidlonego kodu przestała być jednym z naszych celów. Chcielibyśmy przyjąć zmiany, o które prosili nas użytkownicy, i będziemy to robić najlepiej, jak potrafimy. Jesteśmy szczególnie podekscytowani pomysłem wprowadzenia na przykład zmian z PhotoGIMP (chociaż najpierw oceniamy legalność niektórych z nich!) I pisania własnych wstępnie dołączonych wtyczek, aby rozszerzyć funkcjonalność tego, co tam jest. Ale to maraton, a nie sprint. Wprowadzenie tego rodzaju zmian zajmie trochę czasu.

Nasze pierwsze trzy wydania (0.1.0, 0.1.2 i 0.2.0) były przeznaczone jako wersje typu „rebase, refaktoryzacja, wymiana, przepakowywanie”, które w zasadzie osiągnęły większość naszych celów technicznych. Teraz, gdy koncentrujemy się bardziej na przepisywaniu, naszym nowym planem jest tworzenie dwóch rozwidlonych wydań rocznie. Taką, która opiera się na nowej wersji Programu do manipulacji obrazami GNU co roku w lipcu, a następnie na wydaniu, które jest powtarzane co roku w styczniu. Ta oś czasu zbiega się z kalendarzem akademickim na półkuli północnej i kładzie mniejszą presję na Bobby'ego Mossa.

Więcej o naszych priorytetach rozwojowych przeczytasz tutaj: https://github.com/glimpse-editor/Glimpse/wiki/Development-Priorities

DMD: Jakie są niektóre z głównych pisanek lub bałaganu, które widzisz obecnie w GIMP-ie, które albo pracujesz nad usunięciem, albo chciałbyś usunąć w przyszłości, aby poprawić wydajność Glimpse?

PRZEJŚCIE: Usunęliśmy już pisankę „strach przed skokami”, w której oczy Wilbera zapalają się w oknie głównym, jeśli zbyt długo pozostawisz aplikację bez nadzoru! Podobnie usunęliśmy „zabawne” pędzle, takie jak zielony pieprz *. W wersji 0.2.0 pominiemy również filtr „Ćwiczenie kozła”. (Nie mamy nic przeciwko pisankom, ale ponieważ ich nie stworzyliśmy, a czasami mogą być postrzegane jako „nieprofesjonalne”, stosujemy zasadę usuwania ich, gdy je zauważymy)

(Uwaga: zespół GIMP zwrócił uwagę, że ćwiczenie Koza w GIMP jest bardziej ćwiczeniem programistycznym niż „jajkiem wielkanocnym”, chociaż zespół GLIMPSE nie zgadza się z tą oceną *)

Największy wzrost wydajności dotyczy systemu Windows. Napisaliśmy własny instalator przy użyciu zestawu narzędzi WiX zamiast ponownego korzystania z wcześniejszego zainstalowanego za pomocą Inno Setup. Najbardziej oczywistym rezultatem tego jest to, że instalator Glimpse Image Editor 0.1.2 działa znacznie szybciej, a zainstalowana aplikacja zajmuje tylko 507 MB miejsca na dysku, w porównaniu z 3.5 GB miejsca, które zrobił GNU Image Manipulation Program 2.10.12. (Poinformowaliśmy autorów, jak zrobiliśmy to przez IRC i od tego czasu zmniejszyli swój ślad do 1.02 GB dla 2.10.20). Mamy nadzieję, że jeszcze bardziej zmniejszymy nasz zainstalowany ślad dla Glimpse Image Editor 0.2.0.

Glimpse Image Editor również zazwyczaj ładuje się szybciej w systemie Windows, ponieważ nie ładuje podsystemu Python dla wtyczek. Pierwotnie był to błąd, który odziedziczyliśmy z dokumentacji procesu kompilacji, ale byliśmy zaskoczeni, gdy odkryliśmy, że użytkownicy docenili ulepszoną prędkość uruchamiania i nie zauważyli brakujących filtrów i wtyczek, dopóki specjalnie ich nie wskazaliśmy! Teraz, gdy Python 2 i tak dobiegł końca, podjęliśmy decyzję o dalszym nieuwzględnianiu obsługi wtyczek Python w systemie Windows, ponieważ korzyści wydają się przeważać wady i możemy to reklamować jako poprawkę bezpieczeństwa oprogramowania w szkołach i miejscu pracy Administratorzy IT. Nasze porty Linuksa są pakowane w kontenerach piaskownicy, więc włączenie Pythona 2 do tych wersji nadal ma sens.

Przez pewien czas Glimpse Image Editor instalował się szybciej z Flathuba, ale od tego czasu firma upstream wprowadziła znaczące ulepszenia do swojego własnego wpisu Flathub. W rzeczywistości możesz teraz nawet instalować wtyczki innych firm jako rozszerzenia za pośrednictwem Flathub. Sami tego jeszcze nie powtórzyliśmy! Obsługa Snap i AppImage jest z grubsza równoważna.

Inne zmiany interfejsu użytkownika, które możesz zauważyć, to porzucenie obszaru „przeciągnij i upuść”, ponieważ tylko zaawansowani użytkownicy zdawali się rozumieć, do czego to służy, więc odzyskaliśmy miejsce w głównym oknie. Przeszliśmy również przez całą aplikację, zastępując maskotkę Wilbera naszym bardziej ogólnym logo, i ta praca zostanie w pełni ukończona w wersji 0.2.0.

DMD: Czy przewidujesz, że GIMP wprowadzi zmiany bezpośrednio do swoich przyszłych wersji, czy też Twoje zmiany / aktualizacje będą dostępne wyłącznie w Glimpse?

PRZEJŚCIE: Jak wspomniano w poprzednich pytaniach, Program manipulacji obrazami GNU jako projekt ma znacznie więcej zasobów programistycznych niż my, a także wsparcie i infrastrukturę fundacji GNOME. W rezultacie zwykle wolą ponownie wdrażać niż ponownie wykorzystywać naszą pracę. Jednak informujemy ich o wprowadzaniu fajnych zmian i jesteśmy niesamowicie otwarci na temat naszych planów na przyszłość. To zazwyczaj zachęca ich do ulepszania własnego oprogramowania lub „pokonania nas na siłę”. 🙂

DMD: W odniesieniu do Glimpse NX - czym różni się ten edytor obrazów od Glimpse poza nowym językiem programowania (tj. Jakie funkcje będzie miał, jaki będzie interfejs użytkownika, jak będzie działał w stosunku do GIMP i Glimpse)?

PRZEJŚCIE: Powinien być mniejszy, łatwiejszy do pakowania / dystrybucji i działać szybciej, ponieważ będziemy używać bardziej nowoczesnego stosu technologii. Nie możemy powiedzieć nic więcej, ponieważ prace projektowe wciąż muszą być wykonane.

Kluczową różnicą od samego początku będzie nasze podejście. Program do manipulacji obrazami GNU jest generalnie przeznaczony dla ludzi, którzy są już użytkownikami Linuksa i / lub kupili już ideologię wolnego oprogramowania. Chcemy dotrzeć do osób, które nie znajdują się w żadnej z tych sytuacji i przekonać ich do zmiany!

DMD: A jeśli chodzi o język programowania - dlaczego zdecydowałeś się oprzeć go na języku programowania D?

GLIMPSE: Tak więc język programowania D został wybrany dla Yuzu Studio, które zostało wyodrębnione jako nowy projekt niezależny od Glimpse. Luna może bardziej szczegółowo omówić niskopoziomowe techniczne powody, dla których jest entuzjastą tego języka programowania. Dyskusja tutaj może być dobrym punktem wyjścia: https://twitter.com/Clipsey5/status/1277326964840443907?s=20

Zamierzamy teraz używać GTK4 i Rust, ponieważ lepiej pasuje do wyboru technologii, z których chcemy korzystać, oraz do współtwórców GNOME, którzy chcą to osiągnąć.

DMD: Czy Glimpse NX zawsze będzie darmowe, czy zamierzasz kiedyś za to zapłacić?

PRZEJŚCIE: Nasz projekt nie jest nastawiony na zysk i zawsze taki będzie. Glimpse NX będzie prawdopodobnie licencjonowany w ramach GNU GPLv3.

Nie możemy uprzedzać przyszłych decyzji dotyczących naszego projektu ze względu na sposób, w jaki go prowadzimy. Możesz przeczytać więcej na ten temat na naszej stronie z często zadawanymi pytaniami: https://glimpse-editor.github.io/about/#how-does-this-project-govern-itself

Obecne stanowisko jest jednak takie, że nie pobieramy opłat za nasze oprogramowanie i nie planujemy tego robić w przyszłości. Nasz projekt ma również niewielkie lub żadne wsparcie, aby zmienić to stanowisko.

DMD: Czy masz ogólny harmonogram jego wydania (Glimpse NX)?

PRZEJŚCIE: Ponieważ jest to projekt w całości tworzony przez entuzjastów w ich wolnym czasie, trudno jest ustalić dla niego stały harmonogram.

Mamy nadzieję, że uda nam się to osiągnąć w ciągu dwóch lat, ale to zależy od tempa, w jakim możemy się za to postarać.

Jeśli nie zostanie dostarczony, możemy nadal tworzyć meta fork tak długo, jak długo będą chcieli go użytkownicy. Rozpoczęliśmy teraz nową inicjatywę o nazwie „Glimpse Redux”, która ma pomóc nam w ponownym budowaniu bazy, gdy upstream ostatecznie wyda wersję 3.0.

DMD: Czy przewidujesz, że Glimpse będzie „Photoshop Killer”?

PRZEJŚCIE: Tak długo, jak będziemy nadal rozwidleniem Programu do manipulacji obrazami GNU, nie. Inicjatywa ta ma na celu poszerzenie i tak już dużej bazy użytkowników istniejącego programu wolnego oprogramowania. Chociaż odnieśliśmy pewne sukcesy, rozmiar naszej bazy użytkowników jest błędem zaokrąglenia w porównaniu z poprzednimi wersjami.

Oprogramowanie Glimpse NX zostało zaprojektowane specjalnie z myślą o osobach korzystających z programów takich jak Adobe PhotoShop, Corel PaintShop Pro i inne. Jednak taki wysiłek musi być maratonem, a nie sprintem. Ponadto nie mamy ludzi pracujących w pełnym wymiarze czasu pracy nad projektem, nie ma nadrzędnej organizacji wspierającej nas, a także brakuje nam zasobów i wiedzy potrzebnej do tego.

Naszym celem w ciągu następnych kilku lat jest stworzenie czegoś nowego i ekscytującego, co pobudzi wyobraźnię ludzi i wykorzysta entuzjazm społeczności FLOSS. Zobaczymy wtedy, jak rozwija się nasz projekt i jakie zainteresowanie wzbudza.

Nawet gdyby Glimpse NX lub Yuzu Studio nigdy nie stały się „zabójcami Photoshopa”, nadal wprowadzalibyśmy większy wybór w krajobrazie wolnego oprogramowania. Nasz „ogólny” cel, jakim jest przekonanie większej liczby ludzi do używania wolnego oprogramowania, pozostałby ten sam i nadal będziemy wierzyć w pokojową współpracę między nami a Programem manipulacji obrazami GNU w służbie temu celowi.

Odpowiedzi te zostały udzielone przez Glimpse Image Editor's Governance Team. Możesz pobrać Glimpse za darmo lub dowiedzieć się więcej o tym projekcie na Zobacz oficjalną stronę internetową.

* Niektóre odpowiedzi udzielone przez zespół GLIMPSE zostały zakwestionowane przez zespół GIMP. Pozycje oznaczone gwiazdką wskazują poprawki dokonane przez Davies Media Design po pierwotnej dacie publikacji tego artykułu w oparciu o wymianę informacji między przedstawicielami obu zespołów. Dodatkowe elementy zostały zakwestionowane, które nie zostały poprawione w tym artykule, ponieważ uznano je za „różnice zdań” lub niewsparte wystarczającymi dowodami, aby można je było uznać za niezgodne ze stanem faktycznym i wymagające korekty. Davies Media Design zamierza obiektywnie raportować działania mające miejsce w projekcie GIMP i wokół niego oraz potencjalnie inne projekty wideł, takie jak GLIMPSE. W tym przypadku zgłoszone przez nas odpowiedzi zostały udzielone bezpośrednio przez zespół GLIMPSE i wydrukowane w tym artykule. Sami nie wyciągnęliśmy wniosków z odpowiedzi, ani odpowiedzi w tym artykule nie były raportem z wewnętrznych badań Davies Media Design - chociaż pytania były oparte na naszej wiedzy GIMP i kopii / oświadczeniach na stronie GLIMPSE. Ten artykuł to po prostu wydruk odpowiedzi zespołu GLIMPSE na pytania zadane przez Davies Media Design - z końcowym celem udostępnienia twórcom GLIMPSE platformy do komunikowania się z opinią publiczną ich postępów w opracowywaniu alternatywy dla GIMP, a tym samym potencjalnie kolejnej bezpłatnej i opcja open source dla użytkowników. Zespół GLIMPSE ma plik FAQ omówienie, w jaki sposób projekt wykorzystuje przejrzystość, aby zaakceptować konstruktywną krytykę lub spory dotyczące projektu oraz informować opinię publiczną o ich postępach, a jednocześnie zwracać się do osób, które ich zdaniem atakują projekt w „złej wierze”.

Zapisz się do newslettera DMD

Zapisz się do newslettera DMD

Zarejestruj się, aby otrzymywać nowe samouczki, aktualizacje kursów i najnowsze wiadomości na temat Twojego ulubionego oprogramowania typu open source!

Pomyślnie subskrybowany!

Przypiąć go na Pinterest

Udostępnij to