Come Microsoft ha ucciso AppGet

Come Microsoft ha ucciso AppGet

La scorsa settimana Microsoft ha rilasciato il gestore di pacchetti WinGet in occasione degli annunci alla conferenza Build 2020. Molti lo hanno considerato un ulteriore prova dell'avvicinamento di Microsoft al movimento Open Source. Ma non il developer canadese Keivan Beigi, autore del gestore di pacchetti open source AppGet. Ora sta cercando di capire cosa sia successo negli ultimi 12 mesi, durante i quali ha interagito con i rappresentanti di Microsoft.

In ogni caso, ora Keivan interrompe lo sviluppo di AppGet. I servizi client e server passano in modalità di manutenzione immediata fino al 1 agosto 2020, dopo di che saranno chiusi per sempre.

Nel suo blog, l'autore fornisce una cronologia degli eventi. Tutto è iniziato un anno fa (3 luglio 2019), quando ha ricevuto questa lettera da Andrew, il leader del gruppo di sviluppo in Microsoft:

Keivan,

Gestisco il team di sviluppo del Windows App Model e, in particolare, il team di distribuzione delle applicazioni. Volevo semplicemente inviarvi una breve nota per ringraziarvi di aver creato appget: è un'ottima aggiunta all'ecosistema Windows che semplifica la vita agli sviluppatori Windows. Probabilmente saremo a Vancouver nelle prossime settimane per incontri con altre aziende, ma se avete tempo ci piacerebbe incontrarvi e incontrare il vostro team per ricevere feedback su come rendere più semplice la vostra vita nello sviluppo di appget.

Kayvan era entusiasta: il suo progetto hobbistico era stato notato da Microsoft! Ha risposto all'email e, dopo due mesi di scambi di messaggi, si è presentato a un incontro presso l'ufficio di Microsoft a Vancouver. All'incontro erano presenti Andrew e un altro manager dello sviluppo della stessa linea di prodotti. Kayvan racconta di essersi divertito molto: hanno discusso delle idee alla base di AppGet e di ciò che non è stato fatto bene nei gestori di pacchetti attuali in Windows e cosa prevede per le future versioni di AppGet. Lo sviluppatore ha avuto l'impressione che Microsoft volerà supportare il progetto: hanno chiesto cosa potessero fare per lui. Ha menzionato che sarebbe utile ricevere alcuni crediti su Azure, una certa documentazione sul nuovo formato dei pacchetti MSIX, e sarebbe opportuno risolvere i problemi con i link di download separati.

Una settimana dopo, Andrew ha inviato una nuova email, in cui ha praticamente invitato Andrew a lavorare in Microsoft: «Vogliamo apportare alcune modifiche significative alla distribuzione del software su Windows, e c'è un'ottima opportunità di contribuire a come apparirà Windows e il sistema di distribuzione delle applicazioni in Azure/Microsoft 365. In questo contesto, hai considerato la possibilità di dedicare più tempo a appget, potenzialmente in Microsoft?» — ha scritto.

Kayvan inizialmente era un po' titubante—non voleva unirsi a Microsoft per lavorare su Windows Store, sul motore MSI e su altri sistemi per il deployment delle applicazioni. Ma gli hanno assicurato che avrebbe dedicato tutto il suo tempo a lavorare su AppGet. Dopo circa un mese di lunghe corrispondenze via email, sono giunti alla conclusione che l'accordo sarebbe stato molto simile a un acqui-hire—Microsoft assume lo sviluppatore insieme al suo programma, e decidono di rinominarlo in qualcos'altro, o diventerà Microsoft AppGet.

Kayvan scrive che durante tutto il processo non ha mai completamente capito quale sarebbe stata la sua funzione in Microsoft. Quali sarebbero state le sue responsabilità? A chi doveva riferire? Chi doveva rendere conto a lui? Ha cercato di chiarire alcune di queste domande durante questi lunghi negoziati, ma non ha mai ricevuto una risposta chiara.

Dopo alcuni mesi di trattative molto lente via email, gli è stato detto che il processo di assunzione tramite BizDev avrebbe richiesto molto tempo. L'alternativa per velocizzare il processo sarebbe stata assumerlo immediatamente con un "bonus", dopo di che avrebbe iniziato a lavorare sul trasferimento della base di codice. Non aveva obiezioni, così hanno programmato alcuni incontri/colloqui a Redmond.

Il processo è partito. Il 5 dicembre 2019, Kayvan è volato a Seattle — presso la sede di Microsoft — e ha trascorso l'intera giornata lì, partecipando a colloqui con diverse persone e a trattative con Andrew. La sera ha preso un taxi per l'aeroporto ed è tornato a Vancouver.

Gli è stato detto di aspettare una chiamata dal dipartimento delle risorse umane. Ma poi, per sei mesi Kayvan non ha sentito nulla da Microsoft. Fino a metà maggio 2020, quando un vecchio amico di Andrew ha annunciato il lancio del programma WinGet il giorno dopo:

Ciao, Kayvan, spero che tu e la tua famiglia stiate bene — sembra che la Columbia Britannica stia affrontando meglio il covid rispetto agli Stati Uniti.

Mi dispiace molto che la posizione di project manager non abbia funzionato. Vorrei trovare il tempo per dirti quanto apprezziamo il tuo contributo e le tue idee. Abbiamo sviluppato un gestore di pacchetti per Windows, e il primo anteprima sarà trasmesso in diretta domani durante Build 2020. Menzioneremo anche appget nel nostro blog, poiché crediamo che ci sia spazio per vari gestori di pacchetti su Windows. Il nostro gestore di pacchetti si basa anche su GitHub, ma, ovviamente, con la nostra implementazione, e così via. Esce anch'esso come open source, quindi, ovviamente, saremo felici per qualsiasi tuo contributo.

Keyvan non era troppo sorpreso. A quel punto era già chiaro che non sarebbe stato invitato a lavorare in Microsoft, e questo non lo rattristava, poiché dubitava di voler lavorare in una grande azienda.

Ma la vera sorpresa lo aspettava il giorno dopo, quando vide il repository GitHub: "Quando ho mostrato il repository a mia moglie, la prima cosa che ha detto è stata: 'L'hanno chiamato WinGet? Sei serio??' Non ho nemmeno dovuto spiegarle meccaniche base, terminologia, formato e struttura del manifesto, anche la struttura delle cartelle del repository dei pacchetti è ispirata a AppGet.

«Sono deluso dal fatto che Microsoft, un'azienda da 1,4 trilioni di dollari, alla fine si sia decisa a rilasciare un gestore di pacchetti degno per il suo prodotto di punta? No, avrebbero dovuto farlo molti anni fa. Non avrebbero dovuto rovinare il Windows Store così tanto come hanno fatto», scrive Kеivan. «In realtà, non importa quanto abbia cercato di promuovere AppGet, non crescerà mai così velocemente come la soluzione di Microsoft. Ho creato AppGet non per arricchirmi, diventare famoso o lavorare per Microsoft. Ho creato AppGet perché credo che noi utenti di Windows meritiamo anche noi un'esperienza decente nella gestione delle applicazioni. Ciò che mi preoccupa è come è stato realizzato tutto questo. Comunicazioni lenti e terribili. Alla fine, completo silenzio radio. Ma ciò che mi ha colpito di più è stato questo annuncio. AppGet, che è oggettivamente la fonte della maggior parte delle idee per WinGet, è stato menzionato solo come un altro gestore di pacchetti che esiste semplicemente casualmente in questo mondo.. Allo stesso tempo, altri gestori di pacchetti, con cui WinGet ha molto poco in comune, sono stati menzionati e spiegati con molta più attenzione.

Keevan Beigi non si dispiace. Dice che non c'è male che non venga per un bene. Almeno, WinGet è costruito su una solida base e ha il potenziale per avere successo. E gli utenti di Windows potrebbero finalmente ottenere un gestore di pacchetti degno. E per lui, questa storia è stata un'esperienza preziosa: «Vivi un secolo e impara un secolo».

Spiega che copiare codice non è un problema, è questo il senso dell'Open Source. E non si riferisce a copiare il concetto generale di gestori di pacchetti/applicazioni. Ma se guardiamo a progetti simili in OS X, Homebrew, Chocolaty, Scoop, ninite, ecc., ognuno ha le proprie particolarità. Tuttavia, WinGet funziona quasi allo stesso modo di AppGet: «Vuoi sapere come funziona Microsoft WinGet? Vai a leggere l'articolo che ho scritto due anni fa su come funziona AppGet», scrive.

Keevan è stato deluso solo dal fatto che il suo lavoro non è stato menzionato da nessuna parte.

Per riferimento. «Embrace, extend and extinguish» è una frase che, come stabilito dal Ministero della Giustizia degli Stati Uniti, utilizzata nella corporation Microsoft per descrivere la strategia di implementazione nel settore del software che adotta standard ampiamente diffusi. La strategia prevedeva l'espansione di questi standard e l'ulteriore utilizzo di tali differenze per ottenere un vantaggio competitivo.

Nel caso di AppGet, non si può dire che questa strategia sia stata applicata in modo puro, ma alcuni elementi possono essere considerati. I sostenitori del software libero considerano questo approccio moralmente inaccettabile e continuano a guardare con diffidenza all'iniziativa di Microsoft di implementare un sottosistema per Linux nel sistema operativo Windows (WSL). Affermano che Microsoft, nella sua essenza, non è cambiata e non cambierà mai.

Come Microsoft ha ucciso AppGet


Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster