Jeszcze nie tak dawno temu (przed początkiem tego tygodnia) npm umożliwiało tworzenie organizacji jedynie po uiszczeniu opłaty w wysokości kilku dolarów od każdego użytkownika w organizacji. Była to o tyle dziwna decyzja, że na GitHubie organizacje dla projektów open-source zawsze byly całkowicie darmowe i wręcz naturalne. Dziwność tej decyzji potęgował także fakt, że w Composerze (“konkurencji” npm-a w ekosystemie PHP) również takie rozwiązanie było od dawna i również darmowe. W npm za tę przyjemność trza było płacić.

Nic zatem dziwnego, że użytkownicy znaleźli obejście problemu. Po prostu tworzyli użytkownika o takiej samej nazwie jak ich wymarzona organizacja i tyle. Oczywiście wówczasz do publikacji nowych wersji pakietów trzeba było używać tego użytkownika. Tego typu obejście postanowiłem zastosować też w ComSemRelu, tworząc użytkownika comsemrel.

2 dni później npm ogłosił, że wprowadza darmowe organizacje dla open source… No cóż, przynajmniej będzie lepiej, prawda?

Nie, nie jest. A zaczęło się wraz z naciśnięciem magicznego przycisku pozwalającego zamienić danego użytkownika w organizację. Wszystko niby działa, ale cały dowcip polega na tym, że nie da się wybrać właściciela organizacji (co pozwoliłoby mi podpiąć organizację pod moje konto prywatne) tylko trzeba stworzyć nowego. Tak powstał użytkownik comsemrel-owner.

No ok, nie jest jeszcze tragicznie. Tak robi się dopiero wówczas, gdy spojrzymy na panel zarządzania organizacją:

Panel zarządzania organizacją na npm, składający się z 4 zakładek: 0 packages, 1 team, 1 member, payment info. Włączony jest panel 0 packages.

Ba, nawet zakładki są źle zrobione, bo klikalny jest jedynie tekst… Bieda, po prostu bieda.

Żeby było jeszcze zabawniej, gdy zaprasza się jakiegoś użytkownika do organizacji, to nie musi nic potwierdzać. W chwili naciśnięcia przycisku “add member” użytkownik jest po prostu dodawany do organizacji. Czuję, że będę wspólpracował z Zakasem i Crockfordem.

Miło, że npm udostępnił organizacje za darmo, ale… to raczej nie powinno tak działać.