So che quanto sto per scrivere indisporra' abbastanza i sostenitori del software Open Source, ma si tratta di un problema che si sta manifestando quasi ovunque, e mostra il modo in cui l' Open Source sta venendo usato per avere taaanto, taaaanto lavoro sottopagato, ovvero gratuito.

Ci sono tanti esempi, ma vorrei indicarne uno. Si tratta di una persona che scrive un software open source piuttosto usato, un bilanciatore che usa una tecnica di Cluster IP.

Vediamo cosa scrive.

In pratica, sta succedendo che le aziende si stanno limitando a sviluppare interfacce. Tutto quanto gira sul backend , oggi, viene considerato gratuito. Vuoi Docker? Puf, Docker e' gratis! Vuoi un Database? Eccoti decine di opensource gratis! Vuoi un webserver? Eccoti caddy, nginx, apache httpd, tutto gratis!  Vuoi Kubernetes? Puf, Kubernets e' gratis. Vuoi MetalLB? Puf, e' gratis. Vuoi un sistema operativo server? Puf, Linux aggratise.

Il problema e' che il mondo delle aziende viene da una situazione in cui lavoro gratis non significa "dovrei essere grato a chi lo fa, e magari donargli qualcosa", ma "costui ha scelto di essere mio schiavo, che fesso che e', ma siccome e' mio schiavo ho diritto a frustarlo come tutti gli altri schiavi che lavorano per me".

Nonostante tutti i proclami di voler essere "etiche" e di voler "badare al benessere dei dipendenti", alla fine dei conti le aziende sono quasi tutte rimaste ferme al paradigma schiavista, e questa cosa sta emergendo nel mondo OSS.

In pratica, succede che gli sviluppatori di software Open Source dedicano al software il tempo libero; visto che programmano per hobby, o per passione, devono anche vivere. Quindi se possono fanno le cose oggi, se non possono le fanno domani, e se sono in un periodo duro le fanno la settimana prossima.

Le aziende, al contrario, hanno scadenze da rispettare. Di conseguenza, se usano un prodotto OSS e ci trovano un baco, vorrebbero che fosse risolto entro le scadenze che hanno. Ma lo sviluppatore di Open Source, non essendo pagato, puo' anche e tranquillamente aspettare di avere del tempo libero, e se si prende un anno sabbatico tutti aspetteranno il suo anno sabbatico.

Chi ha ragione?

Ha ragione lo sviluppatore di software.

Se scegli di usare un prodotto opensource per la tua azienda, infatti, e' due diligence del Project Manager o del Project Owner di mettere in conto i rischi. Non si tratta di una questione contrattuale, ma di una questione di professionalita'. Se decidi di usare un prodotto, devi chiederti quale sia il supporto che ha.

Sebbene tu possa perculare la gente in Silicon Valley dicendo "great community support!" durante una presentazione in t-shirt , quando si parla di soldi , bisogna chiarire quale sia lo SLA del supporto che ricevi. Nel caso di Kubernetes o Docker, per dire, potete contare su altre aziende e le cose vanno abbastanza bene. Ma nel caso in cui si tratti di un programmatore (o di un gruppo) che spendono del tempo libero , allora la cosa diventa diversa. Non esiste un contratto tra te e la "great community", e se il tuo baco viene considerato poco importante, tu aspetti. E del tuo "prezioso" progetto non frega nulla a nessuno.

Cosa puo' fare a questo punto un'azienda?

  • Offrire soldi al programmatore. Magari invece di insultare quella persona o inviargli dei "friendly reminder", potreste offrirgli dei soldi se vi offre qualche priorita'. Ma questo, nella logica schiavista del "lavoro gratis" di molte aziende, non e' accettabile.
  • Supportare ufficialmente il prodotto. Sempre offrendo soldi, si puo' ottenere che il programmatore diventi "sponsorizzato" dall'azienda . Questo si puo' fare in molti modi, dalle donazioni, all'assumere il programmatore (e trasformare il suo prodotto in un prodotto supportato) oppure nel comprare la sua piccola azienda.
  • Sperare che si formi una fondazione. Sinora esistono situazioni nella quale il software libero viene supportato da "Fondazioni", che hanno un supporto finanziario volontario da fonti eterogenee, come la Apache Foundation oppure la Document Foundation per LibreOffice.
  • Comprare il software se il programmatore ne ha fatto anche la propria fonte di consulenza. In quel caso il programmatore ha un'azienda che principalmente vive facendo la consulenza sul software opensource che sviluppa. Come successe a Nginx con F5. Se pero' l'azienda non e' molto grande, le sue garanzie finanziarie non saranno sufficienti per chi vuole fare progetti molto costosi, e quindi c'e' bisogno di una liability molto piu' robusta. In quel caso, si compra il tutto.

Tutti questi casi, pero', hanno qualcosa in comune: il programmatore/ideatore della cosa guadagna dei soldi. E questo non va bene per un certo tipo di aziende, che invece hanno capito l' Open Source come "la gente stupida lavora gratis per te".

Quello che sta succedendo al programmatore di MetalLB e' emblematico, perche' alla fine sta dicendo "qui prima o poi mando tutti affanculo e chi si e' visto si e' visto".

Quello che sta succedendo e' che la gente sta cominciando a bombardarlo di "ti ricordo amichevolmente che c'e' da fare la tal cosa", e lui alla fine non aveva promesso nulla, dal momento che questo lavoro lui lo fa gratis.

Non e' un fenomeno strano, e non e' la prima volta che qualcuno abbandona il progetto perche' va in "burnout". Il burnout di programmatori di SW OSS e' un fenomeno abbastanza conosciuto, e le cause anche:

https://github.com/wpeterson/emoji/issues/23

E non e' solo una cosa che riguarda i programmatori:

https://hn.algolia.com/?query=burnout&sort=byPopularity&prefix&page=0&dateRange=all&type=story

Ma da dove viene questo atteggiamento nei confronti di programmatori Open Source?

La verita' e' che si tratta del riflesso di quella che sta diventando la vita normale dei programmatori nella Silicon Valley. Non appena tutto si e' "finanziarizzato", e' arrivata la mentalita' dei finanzieri, e il risultato e' questo:

https://ea-spouse.livejournal.com/274.html

La verita' e' che oggi la Silicon Valley e' dominata dal Venture Capital, ovvero da persone che dividono il mondo in due categorie:

  • Quelli che lavorano per i soldi.
  • Quelli che hanno i soldi che lavorano per loro.

Se siete nella prima categoria , potete sognare qualsiasi diritto, e per quanto vi paghino vi verra' tolta una tale quantita' di vita che nessuna cifra pagata potra' mai risarcirvi. Le persone con la mentalita' del finanziere non disprezzano chiunque lavori per soldi, e apprezzano solo chi fa lavorare i soldi per se'. Per loro, la vita o la salute di un programmatore non valgono NIENTE.

Questo concetto e' poco chiaro quando siete in un paese che ha una sanita' gratuita universale, quindi la salute e' vista come un valore zero: se non costa nulla curarsi, la salute non vale nulla. Ma se vivete negli USA, dove la salute COSTA, vi renderete subito conto che un burnout o un altro tipo di invalidita' mentale/fisica possono costarvi cosi' tanto che dovreste guadagnare MILIONI di dollari all'anno per compensare il rischio. Perche' rischiate di ridurvi cosi': nella silicon valley la vita costa cosi' tanto che basta un periodo senza lavoro e siete cosi'.

Ed e' qui che dobbiamo iniziare a capire una cosa:

dopo aver divorato i redditi in qualsiasi altro settore, il mondo degli schiavisti della finanza sta buttando gli occhi sull'ultima categoria di lavoratori ancora ben pagati. Quelli dell' IT.

Forse non hanno capito quanto liquido sia questo mondo, e forse non hanno capito che una persona puo', come sta pensando di fare il programmatore di MetalLB, mandarli a cagare seduta stante e vivere bene lo stesso: e stiamo parlando del mondo dell' OSS.

Per fortuna la comunita' di MetalLB contera' ancora su questo prodotto, ma il punto e' che il fenomeno del burnout si sta accentuando tra i programmatori, e col senno di poi potremmo chiederci cosa sia successo davvero a Linus Torvalds... e se davvero qualcuno si rende conto dei rischi di mandare in burnout pezzi di opensource "difficilmente rimpiazzabili".

Se perdete MetalLB , beh, e' qualcosa di rimpiazzabile. Del resto, lo stesso kubernetes e' la piu' tremenda massa di inutili complicazioni che la storia abbia mai concepito dal tempo di Multics localizzato in Etrusco, quindi non e' poi una perdita gravissima.

Diventa abbastanza rilevante ricordare cosa successe nel periodo, attorno al 2000, in cui Torvalds si occupo' del kernel molto meno del solito. Era diventato una merda impredicibile. Molti si sentiranno confortati dal fatto che il kernel di linux ormai e' una questione corporate (Microsoft contribuisce per il 20-25% delle patch), ma il problema della governance rimane: che fate se Linus vi manda a cagare in massa?

Vi ritrovate con un OS di IBM-Redhat/Microsoft/Google/Canonical?

Questo assalto all' OSS, e in generale al mondo dello sviluppo di software, finira' presto, ma per altri motivi.

Il punto pero' e' diverso.

Non esiste alcuna ragione per la quale una persona dovrebbe perdere la salute per il lavoro, e il punto e' che quasi nessuno tra i programmatori e' costretto a farlo. Perche' il punto e' che se sei uno che vuole arrivare al top del top del top magari vuoi anche rischiarci la salute, ma se sei uno che vuole vivere, puoi sempre lavorare per una normale casa di software, e mandare a quel paese quei signori: la domanda di software e' cosi' grande oggi che nessuno e' davvero sotto ricatto.

Quindi, se state facendo OSS, il mio consiglio e': o aspettano tutto il tempo che vi serve, O PAGANO il vostro tempo.

Non dovete rispondere "this software is for free, so you should be a bit less pushy". La risposta dovrebbe essere: "this is the free support I offer. If you want more, here is THE PRICE".

Fino a quando il mondo si dividera' tra fessi che lavorano per soldi, fessi che lavorano per piacere e furbi che fanno lavorare i soldi per se', chiaramente i furbi faranno i furbi sempre di piu'. Sino a quando non li avremo tolti di mezzo sostituendoli con qualche software:

Quindi, e' ora che la gente cominci a lavorare per soldi. Dove "per soldi" significa "per MOLTI soldi". Non e' possibile che un'azienda possa chiederti di rimediare ad un difetto di un software che fai per piacere, senza nemmeno prendere in considerazione l'idea di pagare.

Per una ragione: per un piccolo Product Owner o un piccolo Project Manager, scassarvi il cazzo e' "lavoro". Se gli chiedete soldi, diventa un problema che fa parte del suo budget. E se fa parte del suo budget, il fatto che non abbia valutato i rischi di una soluzione OSS diventera' evidente.

Basta salvare il culo ai manager. Quando sbagliano, devono andare a sbattere.

Altrimenti non potremo piu' lamentarci che i manager siano teste di cazzo: se continuiamo a salvarli a spese di tempo, lavoro gratis e salute, non ci sara' mai selezione naturale nel loro campo. E' ora che il manager che sbaglia caschi: se non hai messo a budget soldi per risolvere i bachi del software Open Source che usi, fallisci la tua sprint, la prossima, e prenditi le conseguenze.

Perche' tutto nasce da PM e PO di merda. Che credono che il lavoro sia gratis, perche' per quelli che ammira il lavoro non vale niente, e chi lavora per soldi e' solo uno stupido da disprezzare.