Il più grande nemico di Linux: Darl McBride muore e nessuno lo nota

Darl McBride è morto un mese e mezzo fa e nessuno nel mondo Linux sembra averlo notato. Siamo sbalorditi. Non avremmo mai pensato che un tizio che ha dominato la copertura delle notizie Linux dal 2003 al 2007, e le cui azioni all’inizio ci hanno spaventato a morte, che lo ammettessimo o no, potesse essere morto e sepolto per qualcosa come per sempre (almeno in termini di ciclo delle notizie) senza la copertura della stampa FOSS.

McBride, che all’inizio degli anni 2000 era CEO della SCO con sede nello Utah, è famoso per aver cercato di porre fine a Linux come lo conosciamo, affrontando IBM, Daimler Chrysler, Novell e molte altre aziende, in battaglie legali con l’affermazione che Linux era pieno di codice che era stato rubato dalle versioni proprietarie di Unix della SCO.

Oggi abbiamo scoperto, da un breve comunicato pubblicato da Techrights il 31 ottobre, che McBride è morto dal 16 settembre. Techrights ha aggiornato la sua nota questa mattina per includere un copia e incolla di un post, anch’esso pubblicato oggi, dal sito aggregatore di notizie alimentato dalle persone SoylentNews da un utente con lo pseudonimo Frosty Piss:

“È passato un mese e mezzo da quando Darl McBride ha tirato le cuoia (chi?), e non è stato menzionato sulla stampa. Ma poi, forse la maggior parte dei seguaci di Linux di oggi non era viva o abbastanza grande per aver sperimentato l’assalto del signor McBride a Linux che avrebbe potuto benissimo porre fine alla sua vita come open source. Ovviamente sto parlando di molto tempo fa, nell’età della pietra, quando SCO fece causa a IBM, Red Hat, Novell e altri per la proprietà del kernel Linux. Quelli di noi che erano in giro hanno seguito l’ormai defunto Groklaw per le ultime notizie su questo impiccio legale che ora è per la maggior parte dimenticato”.

McBride affronta Linux

Il poster deve aver ricevuto la notizia da Wikipedia, perché il post include tre paragrafi dalla biografia di McBride su Wikipedia che includono una citazione dell’ex vicepresidente esecutivo di Novell e collega di McBride, Ty Mattingly, che dice a McBride: “Congratulazioni. In pochi mesi hai spodestato Bill Gates come l’uomo più odiato del settore”.

Ciò che ha detto Mattingly era quasi vero. Per un breve periodo è stato forse la persona più odiata del pianeta… almeno, nei circoli Linux e open source. All’epoca ha affermato di aver ricevuto minacce di morte, il che era indubbiamente un fatto.

Sembra che abbia ricambiato il favore, tuttavia, quando ha annunciato che SCO stava indagando sullo scrittore che stava seguendo più da vicino il putiferio legale tra Linux e SCO, che era PJ, lo pseudonimo usato per proteggere l’identità dello scrittore che pubblicava il blog Groklaw.

Due settimane dopo l’annuncio, la scrittrice FOSS Maureen O’Gara, evidentemente in combutta con SCO, pubblicò un articolo su Linux Business News che identificava PJ come Pamela Jones e che conteneva informazioni personali non verificate su di lei, tra cui una foto che si diceva fosse della sua casa. Furono pubblicati anche gli indirizzi e i numeri di telefono che presumibilmente appartenevano a Jones e a sua madre.

Il caso che non c’era

Le minacce di SCO contro Linux si rivelarono rapidamente inefficaci. Quando McBride e il suo team di SCO rivelarono alcuni frammenti di codice di Linux che sostenevano essere copie del suo codice Unix proprietario, alcuni ricercatori Linux si misero al lavoro e scoprirono rapidamente che il codice in questione era in realtà codice BSD coperto dalla licenza permissiva BSD, il che significava che SCO era libera di usarlo come parte della sua piattaforma proprietaria e Linux era libera di usarlo sotto la sua piattaforma GPL open source.

Ciò non fu sufficiente per chiudere la questione, tuttavia, e SCO continuò a sostenere la sua causa per diversi anni, finché Novell, che in origine possedeva il codice SCO, non riuscì a far sì che un tribunale stabilisse che quando aveva venduto il codice a SCO ne aveva mantenuto il copyright, il che significava che SCO non aveva più alcun titolo nel caso.

Anche allora il caso non era completamente concluso. Ancora nel 2017, molto tempo dopo che McBride aveva lasciato l’azienda, e persino dopo che SCO aveva praticamente cessato di esistere come entità funzionante, il caso fu brevemente ripreso, solo per essere nuovamente archiviato.

Dopo aver lasciato SCO, McBride prese del software che aveva acquistato da SCO in una vendita fallimentare e fondò un’azienda chiamata Shout, che commercializzava una piattaforma di engagement. Poi nel 2021 accettò un lavoro come direttore operativo presso VirnetX, con sede in Giappone, che commercializza una piattaforma di comunicazioni digitali sicure. Secondo il suo necrologio, McBride è morto il 16 settembre 2024 dopo una battaglia contro la SLA. Aveva 64 anni.

Nel caso in cui vi preoccupaste, McBride era tutt’altro che senza amici alla fine. Abbiamo ho trovato un bel pezzo di “arrivederci” sul sito web Utah Money Watch dello scrittore David Politis, che era un caro amico personale di McBride.

Articolo originale su FossForce

MacOS 15 Sequoia è ufficialmente UNIX

Apple macOS 15 Sequoia è apparso a metà settembre ed è una versione ufficiale e conforme di UNIX™, ma potrebbe non significare esattamente ciò che pensate. Ad esempio, macOS non utilizza alcun codice sorgente AT&T: “Unix” ha smesso di significare questo nel lontano 1993, quando Novell ha acquistato UNIX da Bell Labs, come abbiamo discusso all’inizio dell’anno scorso quando abbiamo annunciato che Unix era morto.

Poco dopo l’uscita di Sequoia, sono emerse notizie riguardanti alcuni break del software di sicurezza seguiti dal primo aggiornamento, versione 15.0.1, all’inizio di questo mese. L’arrivo della versione 15.0.1 è stato seguito da un paio di altri eventi. Uno non è affatto molto significativo. Un giorno o giù di lì dopo, il MacBook Air del Reg FOSS desk ha iniziato a offrire l’aggiornamento.

L’altro è un po’ più significativo per il mondo in generale, anche se solo leggermente. Sequoia è apparso come la voce più recente nel registro dei prodotti certificati UNIX® dell’Open Group. In effetti, ha sia il primo che il secondo posto perché ci sono voci separate per la versione Apple Silicon e la versione x86-64. Non c’è un significato particolare nell’ordine, ma se Apple continua a pagare per la certificazione, a un certo punto la versione x86-64 uscirà dall’elenco quando Apple smetterà di supportare il suo kit basato su Intel.

Unix è solo un nome nuovo per POSIX

Non è una questione di codice. Non lo è da più di 30 anni, da quando Novell ha acquistato l’Unix originale da AT&T. In realtà, ciò che la certificazione UNIX™ significa ora è ciò che una volta veniva chiamato “compatibile con POSIX”, un’abbreviazione coniata da Richard Stallman, guarda caso.

POSIX è essenzialmente un set di specifiche e test di compatibilità, tra cui avere gli strumenti giusti presenti nelle posizioni giuste. Finché ci sono, un sistema operativo può superare il test, ed è così che sistemi come il sistema operativo mainframe z/OS di IBM sono nell’elenco. z/OS è un lontano discendente dell’MVS a 24 bit di IBM per il mainframe System/370 del 1974, che in fondo non è molto più simile a Unix di un Apple II che esegue ProDOS.

Lo standard POSIX si è evoluto nel corso degli anni e, cosa abbastanza interessante, Apple rivendica UNIX 03 solo dal 2002. Un singolo prodotto, IBM AIX 7, vanta la compatibilità con la versione 4 dello standard, denominata UNIX® V7, ovvero POSIX.1-2008.

Da allora, lo standard ha continuato a evolversi. La specifica della versione 4 è stata rivista l’ultima volta nel 2018 e c’è anche una versione del 2024. Nessuno sembra più farci caso, il che è abbastanza giusto. Il mondo si è allontanato da Unix proprietario e ora che tutti i sistemi operativi Unix-like significativi sono FOSS o freeware, puoi aggiungere qualsiasi bit mancante senza pagare.

Ad esempio, POSIX ha risolto le differenze tra vari strumenti di archiviazione aggiungendo un nuovo comando, chiamato pax, in grado di gestire tutti i formati principali. È un ibrido di tar e cpio e la maggior parte delle distribuzioni Linux non lo include perché gli strumenti esistenti possono gestire i file. L’assenza del comando pax significa che un sistema operativo non è conforme a POSIX-1.2001 o versione successiva, ma ormai a nessuno importa più.

Quindi cosa rende un sistema operativo simile a Unix?

Se non avete bisogno di usare nessuno dei codici sorgente originali AT&T e persino la manciata di aziende che continuano a pagare per la certificazione ufficiale Unix non si preoccupa di puntare alla conformità con le ultime versioni di POSIX, allora cosa rende un sistema operativo simile a Unix?

Da una prospettiva molto più ampia, ciò che costituisce un Unix è che sembra Unix, si comporta come Unix e puoi trasferire programmi scritti per Unix su di esso senza modifiche sostanziali.

Il nucleo di macOS è abbastanza simile da qualificarsi. Utilizza un kernel chiamato XNU (che, ironicamente, sta per “XNU is Not Unix”) e un user-land derivato principalmente dal codice BSD. XNU è basato sul kernel Mach [PDF]. In particolare, dopo che Apple ha acquistato NeXT, ha aggiornato i componenti Mach del kernel NeXTstep con la versione migliorata di DEC OSF/1 (in seguito commercializzata come Compaq Tru64). Dispone inoltre di un grande “server Unix” nel kernel derivato dal codice BSD, il che significa che il sistema operativo microkernel più famoso e di successo del settore non è affatto un vero microkernel.

Oltre a ciò, la “user-land” (la roba in modalità testo sotto la GUI, i vari comandi, le shell e così via) è per lo più open source e gran parte di essa proviene da BSD. Ad esempio, il kernel XNU è su GitHub, così come grandi porzioni di macOS e iOS. Sono i livelli della GUI, le parti visibili che la rendono carina, che sono proprietari; sono i bit scritti per lo più in Objective-C e più di recente in Swift.

Apple era solita rendere disponibile una versione per lo più autonoma di questi livelli inferiori del sistema operativo come progetto chiamato Darwin e c’erano diverse distribuzioni che cercavano di completarla usando bit di altri sistemi operativi FOSS, come OpenDarwin e PureDarwin. Per noi, uno dei progetti più interessanti è stato NextBSD, che ha fatto l’opposto. Ha mantenuto il kernel FreeBSD, ma lo ha modificato in modo da poter usare parte del codice di livello superiore di Apple, come launchd, il sistema init di nuova generazione di Apple. In altre parole, l’equivalente di Cupertino di systemd.

Apple annunciò che avrebbe acquisito NeXT Computer alla fine del 1996 e nell’ottobre 1997 pubblicò un’anteprima del suo sistema operativo di nuova generazione chiamato Rhapsody. Rhapsody era effettivamente NeXTstep 5. Nel 1999, divenne Mac OS X Server 1.0, ancora visibilmente simile a NeXTstep. Che si evolse in Mac OS X 1.0 nel 2000.

NeXTstep (la capitalizzazione cambiò un paio di volte) divenne OPENSTEP, che divenne Rhapsody, poi Mac OS X Server, Mac OS X e poi solo OS X con 10.8 Mountain Lion e, a partire da 10.12 Sierra, era semplicemente macOS. Ma è riconoscibilmente lo stesso sistema operativo di NeXTstep 0.8, come dimostrato da un giovane Steve Jobs nel 1988.

Bootnote: Quindi, tutto in C?

No, non deve nemmeno essere implementato in C. Serenity OS è implementato in C++ e Redox OS è scritto in Rust, ed entrambi sono molto simili a Unix. Per andare agli estremi, sia C++ che Rust sono linguaggi di parentesi graffe nella più ampia famiglia C, ma TUNIS, il Toronto University System, era un sistema operativo compatibile con Unix Seventh Edition implementato in Concurrent Euclid, una variante di Pascal.

 

Articolo originale su The Register

Rilasciato OpenBSD 7.6

Il team di OpenBSD ha annunciato il rilascio di una nuova versione del sistema operativo incentrato sulla sicurezza del progetto.

OpenBSD 7.6 introduce diverse correzioni di sicurezza, un output dmesg più chiaro, ha introdotto il supporto per la scheda Milk-V Pioneer e introduce l’utilità scandirat di FreeBSD.

“Aggiunto scandirat(3) da FreeBSD. Aggiunto elf_aux_info(3), progettato per consentire all’userland di dare un’occhiata ad AT_HWCAP e AT_HWCAP2, utilizzando un’interfaccia da FreeBSD. Aggiunta la funzione mancante wcsnlen(3) per trovare la lunghezza di una stringa ampia (ad esempio wcslen(3) con un argomento max len). Importata libva 2.22.0, un’implementazione per VA-API (API di accelerazione video). VA-API fornisce accesso alle capacità di accelerazione hardware grafica per l’elaborazione video. Aggiunta l’opzione ‘-u name’ a env(1) per rimuovere una variabile dall’ambiente. Varie correzioni di bug e modifiche nell’userland: in tutto l’albero sorgente, aggiunti controlli di errore mancanti alle chiamate di gmtime(3) e localtime(3). Aggiunti controlli di errore mancanti a tutte le chiamate in libexec e sbin in caso di errori ctime(3) e ctime_r(3) quando i timestamp sono lontani.”

Una lista completa degli aggiornamenti può essere consultata nell’annuncio di rilascio. Download (pkglist): amd64/install76.iso (760MB, SHA256, signature), amd64/install76.img (696MB, SHA256, signature).

Commit di Theo de Raadt: Tutto è cambiato adesso in OpenBSD

Il fondatore di OpenBSD Theo de Raadt sostituisce un file di dati – e così l’ultima parte invariata dell’originale OpenBSD 1.1.1.1 scompare.

L’antico gioco BSD quiz(6) chiede fatti casuali su vari argomenti in modo piuttosto rudimentale e talvolta cinico o satirico. Utilizza diversi file di dati per questo scopo. Theo de Raadt ha trovato le domande e le risposte sull’argomento “greco” troppo oscure e quindi ha rimosso questo file di dati dal repository OpenBSD con un commit .

Esistono molti parametri significativi e ancor più non sensibili per misurare l’avanzamento dei progetti: periodi di tempo, numeri di versione, numero di sviluppatori o utenti, quantità di codice e così via. Per FreeBSD, ad esempio, Rodrigo Osorio analizza tutti i commit dall’inizio dello sviluppo di FreeBSD e rende questi dati disponibili in formato ASCII. Con il commit OpenBSD di Theo de Raadt e il suo commento “Questo commit modifica l’*ULTIMO FILE ORIGINALE NON MODIFICATO* (ovvero la revisione 1.1.1.1) dall’importazione originale che ha creato OpenBSD il 18 ottobre 1995.” c’è un’altra metrica per gli amanti delle statistiche: quando è stato modificato l’ultimo file originale di un fork?

Perché: OpenBSD è nato da una disputa sui modi presumibilmente troppo rudi del co-fondatore di NetBSD Theo de Raadt. Il resto del team principale di NetBSD ha ritirato l’accesso di de Raadt ai server, a seguito di una discussione che si è protratta per oltre un anno. Ad un certo punto – e con 19.000 righe di codice NetBSD non mantenute – de Raadt si stufò delle tattiche di stallo e, come logica conseguenza, creò un fork di NetBSD il 18 ottobre 1995: OpenBSD. Insieme a Chuck Cranor creò il primo server CVS pubblico e utilizzabile al mondo con la voce “importazione iniziale dell’albero NetBSD” e permise ai programmatori Unix di tutto il mondo di contribuire direttamente allo sviluppo del sistema.

Articolo originale su Heise Online

Aggiornamento dello standard POSIX 1003.1-2024 con nuovi tool e funzioni

Dopo sette anni di sviluppo, l’IEEE Computer Society e l’Open Group Consortium hanno adottato una nuova versione dello standard POSIX 1003.1-2024, che mira a garantire la portabilità tra sistemi operativi di tipo UNIX. Lo standard POSIX (Portable Operating System Interface) definisce le interfacce software tra sistemi operativi e programmi applicativi.

POSIX è diviso in quattro parti. Le definizioni di base sono un elenco delle convenzioni, definizioni e concetti utilizzati nello standard. L’interfaccia di sistema descrive le chiamate di sistema C con i file di intestazione associati. La terza parte contiene una definizione degli interpreti della riga di comando e dei programmi ausiliari, ovvero funzioni shell e programmi di utilità. Infine, una sezione fornisce spiegazioni sullo standard. Nel periodo di massimo splendore delle varianti commerciali Unix reciprocamente incompatibili, la conformità POSIX era un criterio importante nella scelta di un sistema operativo per un software desiderato. Poiché le attuali varianti Linux e BSD sono ampiamente compatibili con POSIX, lo standard che è stato ora pubblicato segue e standardizza molte delle aggiunte già implementate in queste.

I comitati hanno esteso l’area di elaborazione della shell con i due strumenti readlink per visualizzare il contenuto dei link simbolici e realpath per risolvere il nome del percorso di un file. Nuove anche per lo strumento find, le opzioni -print0 per l’output del nome del percorso con un byte nullo di terminazione e -iname per la ricerca senza distinzione tra maiuscole e minuscole. Con xargs, è ora inclusa anche la delimitazione degli argomenti tramite zero byte tramite l’opzione -0. Con read, il delimitatore può essere definito tramite -d, sed utilizza espressioni regolari estese tramite -E e set conosce l’opzione -o pipefail.

Per i programmi C, ora sono disponibili la costante SIGWINCH e strumenti per la creazione di oggetti condivisi. Sono state aggiunte anche alcune nuove funzioni:

  • tcgetwinsize (determina la dimensione della finestra del terminale)
  • gettext (organizzazione delle interfacce multilingue)
  • asprintf (formattazione di una stringa di caratteri e assegnazione di un buffer in base alla dimensione dell’output)
  • strlcpy e strlcat (analoghi a strncpy e strncat, che aggiungono un byte zero alla fine per proteggere dagli overflow del buffer)

La definizione per make ora contiene macro nidificate, consente di specificare più file nella direttiva include e include nuovi target come .NOTPARALLEL, .PHONY e .WAIT. La macro CURDIR punta alla directory corrente e con “::=”, “::=”, “+=”, “?=” e “!=” ci sono nuovi operatori di assegnazione per macro e variabili.

Il testo dello standard è attualmente disponibile solo come PDF sul sito Web IEEE per clienti paganti, istituti scolastici e utenti registrati con un account. Il testo dello standard sarà pubblicato sul sito web di Open Group “nel prossimo futuro”. Finora, solo l’edizione precedente di POSIX 1003.1-2017 è disponibile al pubblico qui.

Fonte: Heise Online

1 2 3 4 56