Wpis z mikrobloga

via Wykop Mobilny (Android)
  • 7
trochę smutna wiadomość dotycząca jednego z bardziej znanych projektów open source w Ruscie: https://github.com/actix/actix-web/blob/master/README.md

pisałem kiedyś już o tym że community open source to nie zawsze przyjazne miejsce, zdarza się że nastawienie "konsumentów" jest co najmniej dziwne - "nam się to po prostu należy". sposoby raportowania problemów też są dość różne (styl komunikacji), tak jak i komentarze dotyczące jakości kodu projektu, bądź braku tej jakości.

pamiętam jak jakiś czas temu była dyskusja na SO ogólnie o tym czy community OS nie staje się coraz mniej przyjazne. i co dziwne wątpliwości tego rodzaju zgłaszali ludzie nie będący juniorami (doświadczający problemów typu: "zadajesz pytanie na które odpowiedź padła sto razy już" - ale też często nie chcący przeszukać archiwum) ale ludzie z wieloletnim doświadczeniem i to dość znani w community, speakerzy, liderzy grup, twórcy open source.

może więc jednak coś jest na rzeczy?

dziwną rzecz zauważyłem kiedyś w community Rusta - trollowanie projektów pisanych w Go - polegało to na chodzeniu sobie po repo na githubie i pisaniu issues "rewrite in Rust!". Jak to było odbierane? źle. bardzo źle.

oczywiście cześć tych fanbojów nie napisała w Ruscie NIC. co kompletnie nie przeszkadza im pisać wszem i wobec że "Go to gonwo" i że "tylko Rust" (za Go można wstawić w sumie dowolny język).

nie wiem jak bardzo związane jest to z dziwnym statusem Rusta - "most beloved language" (czy jakoś tak) od dłuższego czasu w badaniach SO. serio taki beloved? posse w nim nadal garstka osób. community jest dość małe. nie ma (może na szczęście) masowego runu na Rusta
nie ma a problem już jest.

tutaj na wypoku też są ludzie, którzy nie wiedząc NIC o danej technologii piszą totalne bzdury ( nie pozdrawiam i na szczęście mam na #czarnolisto)
zastanawiam się jedynie po co ktoś takie coś robi? nie ma czym się zająć? nie szkoda czasu na taką "działalność"?

ciekawi mnie co na ten temat myślą doświadczone osoby #programista15k

zapraszam do dyskusji

#rustlang #programowanie #opensource
  • 18
@secret_passenger: Myślę, że czasami jest syndrom władzy. Jeden z drugim doczłapie się do status u maintainera i wszyscy mają czuć respekt. Szczególnie to widać w kernelu, kiedyś wrzuciłem kilka patchy, bo zrobiłem je w pracy i były mi potrzebne do lepszego działania projektu, który był closed source (przy okazji naprawiało wszystkim). Jak jeden z drugim zobaczył w jakiej domenie miałem maila to ropoczął się festiwal #!$%@?.

Mi się wydaje, że większość
@secret_passenger: Pisząc jakieś kontrowersje, najłatwiej jest "wypłynąć" z osoby będącej kompletnie nie znaną, na osobę, którą chociaż ktoś przez 5 minut zauważy. Nawet jak pomyśli "no debil".
Może się mylę, ale zauważyłem taką regułę, że jeśli jakiś język ma potencjał, ale jest mało znany, to dość szybko się znajdzie garstka zapaleńców, którzy chcą całemu światu objawić zajebistość tego języka.
I nie wiem czy dokładnie tak jest w Rust, bo w sumie
@secret_passenger ja myślę ziomeczku że własnie jest masowy hype na rust, codziennie na r/programming masz jeden post o Ruscie, najczęściej info o tym że jakiś projekt został przepisany na niego. Wszyscy już wieszcza że cpp umarło i rzucają przykładu wielkich korporacji nawet gdy te mają tylko jakiś jeden mały projekt w Ruscie xD Mi się wydaje że Rust juz jest de facto mainstreamem
pisałem kiedyś już o tym że community open source to nie zawsze przyjazne miejsce, zdarza się że nastawienie "konsumentów" jest co najmniej dziwne - "nam się to po prostu należy"


@secret_passenger: tylko tutaj to nie było tak do końca. Koleś zgłosił unsoundness bug, autor zaproponował łatkę, kolo pisze, że to specjalnie nic nie zmieniło oraz oferuje własną łatkę, która przez autora została podsumowana jako "nudna" więc olał. No przepraszam, ale
via Wykop Mobilny (Android)
  • 2
@yggdrasil: trochę racja. toksyczni maintainerzy to jest problem. pamiętam przecież jak zaczeła się historia NeoVima - w skrócie duża praca włożona w to by zaimplementować mechanizm obsługi asynchroniczności w Vimie została wyrzucona do kosza. dlaczego? bo się "nie podobała". dyskusja nad gotowym rozwiązaniem ciągnęła się sporo czasu, człowiek dokonywał poprawek zgodnie z życzeniami zespołu aż w końcu sam oświecony Braam dał wyraz temu że to jednak NIE wejdzie. szkoda że zmarnowali
via Wykop Mobilny (Android)
  • 0
@Hauleth: były różne sprawy z tym projektem. już wcześniej było zamieszanie.

ale masz rację - autor też nie zachowywał się w sposób idealny. co więcej powiedziałbym że sporo jego zachowań było dość dziwnych, kontrowersyjnych, trudno akceptowalnych. co w sumie dziwi mnie jeszcze bardziej jak sobie pomyślę że człowiek ten pracuje w dużej firmie, gdzie pewne podejście odnośnie tego jak prowadzić projekt powinno być "nabywane przez indukcję" niemalże.

zgadzam się że projekt
historia NeoVima - w skrócie duża praca włożona w to by zaimplementować mechanizm obsługi asynchroniczności w Vimie została wyrzucona do kosza. dlaczego? bo się "nie podobała". dyskusja nad gotowym rozwiązaniem ciągnęła się sporo czasu, człowiek dokonywał poprawek zgodnie z życzeniami zespołu aż w końcu sam oświecony Braam dał wyraz temu że to jednak NIE wejdzie.


@secret_passenger: tutaj też trochę tak, a trochę nie, bo Tarruda (autor patcha) po prostu stwierdził, że
@secret_passenger większość dyskusji, a w zasadzie ich poziom spadł mocno w ostatnich latach. Może dlatego że im człowiek starszy tym więcej ich zauważa? Z mojej perspektywy ludzie średnio sa mniej uprzejmi, operują agresywnymi sformuowanianiami. Zamiast nawet kulturalnie komuś zwrócić uwagę slyszysz "bzdura", "idiotyzm". Jak taki język wpływa, myślę że odpowiedź jest dość jednoznaczna. Co prawda pisząc to nie miałem na myśli Linusa ale tam też sporo afer było.

Trochę mnie ciekawi, jak
@secret_passenger: Śledziłem trochę tę dramę na reddicie i szczerze mówiąc uważam, że lwia część problemu leżała tutaj po stronie autora crate'a. Gość najzwyczajniej w świecie zachowywał się dziecinnie. Ludzie w dobrej wierze wskazali mu poważne błędy i zaoferowali poprawki, on je odrzucił, pousuwał zgłoszenia, a ostatecznie strzelił ragequit. Owszem, pojawił się co najmniej jeden komentarz poniżej poziomu pod jego adresem, ale to był odosobniony przypadek (lub przypadki, ale ja widziałem jeden).
@fizyk20:

Śledziłem trochę tę dramę na reddicie i szczerze mówiąc uważam, że lwia część problemu leżała tutaj po stronie autora crate'a. Gość najzwyczajniej w świecie zachowywał się dziecinnie. Ludzie w dobrej wierze wskazali mu poważne błędy i zaoferowali poprawki, on je odrzucił, pousuwał zgłoszenia, a ostatecznie strzelił ragequit.


Nie zgodzę się. Jego zachowanie, dziecinne czy nie, jest nieistotne. Społeczność, a w szczególności reddit, pokazała że każdy czuje się upoważniony do posiadani
via Wykop Mobilny (Android)
  • 0
@Hauleth:

tutaj też trochę tak, a trochę nie, bo Tarruda (autor patcha) po prostu stwierdził, że jeśli ktoś chce obsługę Windowsa to niech sam zrobi, bo on nad tym siedzieć nie będzie.


albo mi to umknęło albo myślę o jakiejś innej historii. ale być może gdzieś mi ten jeden wątek z całej dość długiej rozmowy na ten temat umknął.

ale tak zdecydowanie pojawienie się konkurencji spowodowało że jest lepiej. sporo znajomych
ja na razie używam raz jednego raz drugiego, ale chyba jednak częściej Vima. a Ty?


@secret_passenger: głównie NeoVim od dawna. Przesiadłem się prawie na samym początku i tak jakoś zostało. Ale jakiś czas temu zastanawiałem się nad powrotem ze względu na niektóre features w Vimie, które się pojawiły. Jednak na razie mi się nie chce. Dużą zaletą NeoVima jest też inny sposób prowadzenia projektu niż BDFL, co mi się bardzo podoba.
Moim zdaniem każde prywatne repo opublikowane na jakimś quasi-githubie jest eksperymentem jego autora.


@babool: tylko tutaj była to ogranizacja, z profesjonalną stroną, etc. To nie był "mały projekt po godzinach", a na pewno nie był tak sprzedawany.

Licencja dość jasno mówi


To jest ochrona przed następstwami prawnymi, nie czy to jest "pet project" czy nie. Praktycznie wszystkie projekty FLOSS mają taki zapis:

- Apache HTTPD
- PostgreSQL
- k8s
- Linux
via Wykop Mobilny (Android)
  • 0
@Hauleth:

Ale jakiś czas temu zastanawiałem się nad powrotem ze względu na niektóre features w Vimie, które się pojawiły.


o, to ciekawe - ja mam jakieś wrażenie że NeoVim jest bardziej dynamicznie rozwijany i że był bardziej "feature rich". mógłbyś krótko napisać co Cię zaciekawiło, jakie konkretnie ficzery chciałeś przetestować?

idea BDFL też jakoś do mnie nie przemawia do końca. w Vimie działa tak sobie. w Clojure bardzo źle. w Pythonie
mógłbyś krótko napisać co Cię zaciekawiło, jakie konkretnie ficzery chciałeś przetestować?


@secret_passenger: text attributes.

w Elixirze wydaje mi się to działać dość dobrze (i w Phoenix też - ale tam jest trochę więcej osób od samego początku)


Ciężko nazwać Jose czy Chrisa BDFLami, bardzie Project Leader, bo bardzo dużo się dzieje niezależnie od nich. Np. przepisanie większości Loggera przeze mnie, gdzie Jose był tak na prawdę tylko reviewerem.

Rust ma
via Wykop Mobilny (Android)
  • 0
@Hauleth: ja patrzałem na nieco inne testy:

https://www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=plaintext

tutaj jak sam widzisz ten actix to jest gwiazdą wydajności (praktycznie w każdej kategorii). ale oczywiście same testy są zbudowane inaczej i trochę inne rzeczy biorą pod uwagę.

w każdym razie w kontekście budowy dość prostego mikroserwisu techempower był dość dobrym wskaźnikiem.
w każdym razie w kontekście budowy dość prostego mikroserwisu techempower był dość dobrym wskaźnikiem.


@secret_passenger: chyba tylko w tym przypadku. Poza tym z tego co widzę, to np. niektóre przykłady są źle napisane. Przykładowo w Elixirze używane jest :rand.uniform(n) a Rust używa rng.gen::() % n + 1 co oznacza, że liczby są inaczej losowane (Rust nie gwarantuje rozkładu jednorodnego). Dodatkowo Rust nie sprawdza czy nowe ID jest różne od starego. Już