I'm Zack, and this is my blog. Have a look at the most recent posts below, or browse the tag cloud here on the right.
Archives are available as well.
- 2017: 
- 2016:   
- 2015:   
- 2014:         
- 2013:        
- 2012:            
- 2011:          
- 2010:            
- 2009:            
- 2008:            
- 2007:            
- 2006:    
You can leave comments on my posts by following the relevant link associated to each post. You can also mail me comments; note that unless otherwise requested, I will add mailed comments in the comment feeds.
... one API (and one FOSDEM) at a time
We posted this while I was keynoting with Roberto at FOSDEM 2017, to discuss the role Software Heritage plays in preserving the Free Software commons. To accompany the talk we released our first public API, which allows to navigate the entire content of the Software Heritage archive as a graph of connected development objects (e.g., blobs, directories, commits, releases, etc.).
Over the past months we have been busy working on getting source code (with full development history) into the archive, to minimize the risk that important bits of Free/Open Sources Software that are publicly available today disappear forever from the net, due to whatever reason --- crashes, black hat hacking, business decisions, you name it. As a result, our archive is already one of the largest collections of source code in existence, spanning a GitHub mirror, injections of important Free Software collections such as Debian and GNU, and an ongoing import of all Google Code and Gitorious repositories.
Up to now, however, the archive was deposit-only. There was no way for the public to access its content. While there is a lot of value in archival per se, our mission is to Collect, Preserve, and Share all the material we collect with everybody. Plus, we totally get that a deposit-only library is much less exciting than a store-and-retrieve one! Last Saturday we took a first important step towards providing full access to the content of our archive: we released version 1 of our public API, which allows to navigate the Software Heritage archive programmatically.
You can have a look at the API documentation for full details about how it works. But to briefly recap: conceptually, our archive is a giant Merkle DAG connecting together all development-related objects we encounter while crawling public VCS repositories, source code releases, and GNU/Linux distribution packages. Examples of the objects we store are: file contents, directories, commits, releases; as well as their metadata, such as: log messages, author information, permission bits, etc.
The API we have just released allows to pointwise navigate this huge graph. Using the API you can lookup individual objects by their IDs, retrieve their metadata, and jump from one object to another following links --- e.g., from a commit to the corresponding directory or parent commits, from a release to the annotated commit, etc. Additionally, you can retrieve crawling-related information, such as the software origins we track (usually as VCS clone/checkout URLs), and the full list of visits we have done on any known software origin. This allows, for instance, to know when we took snapshots of a Git repository you care about and, for each visit, where each branch of the repo was pointing to at that time.
Our resources for offering the API as a public service are still quite limited. This is the reason why you will encounter a couple of limitations. First, no download of the actual content of files we have stored is possible yet --- you can retrieve all content-related metadata (e.g., checksums, detected file types and languages, etc.), but not the actual content as a byte sequence. Second, some pretty severe rate limits apply; API access is entirely anonymous and users are identified by their IP address, each "user" will be able to do a little bit more than 100 requests/hour. This is to keep our infrastructure sane while we grow in capacity and focus our attention to developing other archive features.
If you're interested in having rate limits lifted for a specific use case or experiment, please contact us and we will see what we can do to help.
If you'd like to contribute to increase our resource pool, have a look at our sponsorship program!
Debian Contributors Survey 2016
About 3 weeks ago, together with Molly and Mathieu, we launched the first edition of the Debian Contributors Survey. I won't harp on it any further, because you can find all relevant information about it on the Debian blog or as part of the original announcement.
But it's worth noting that you've now only one week left to participate if you want to: the deadline for participation is 4 December 2016, at 23:59 UTC.
If you're a Debian contributor and would like to participate, just go to the survey participation page and fill in!
Sane e robuste Costituzioni
Il referendum costituzionale è alle porte, ma di questo certamente vi eravate già accorti. Nel mio piccolo, e con un gruppo di amici, abbiamo provato a dare un contributo al tanto sbandierato (ma poco applicato...) mantra della discussione sul merito della riforma.
A tal fine abbiamo prodotto una versione della riforma costituzionale che mostra parola per parola cosa cambierebbe in caso di approvazione definitiva della riforma. Nel gergo di noii geek, questo è un word diff della riforma costituzionale.
Il progetto più generale di cui quella pagina è parte si chiama Sane e robuste Costituzioni. Contiene varie versioni della Costituzione della Repubblica Italiana in formato Markdown, e meccanismi per generare automaticamente resoconti sintetici delle differenze fra di loro. Se siete sviluppatori e volete contribuire, potete farlo su GitHub.
Buona lettura e buon voto!
As part of my master class on Free and Open Source (FOSS) Software at University Paris Diderot, I invite guest lecturers to present to my students the point of views of various actors of the FOSS ecosystem --- companies, non-profits, activists, lawyers, etc.
Tomorrow, Tuesday 2 February 2016, the students will have the pleasure to have as guest lecturer John Sullivan, Executive Director of the Free Software Foundation, talking about Overthrowing the tyranny of software: Why (and how) free societies respect computer user freedom.
The lecture is open to everyone interested, but registration is recommended. Logistic and registration information, as well as the lecture abstract in both English and French is reported below.
John Sullivan's Lecture at University Paris Diderot - Overthrowing the tyranny of software: Why (and how) free societies respect computer user freedom
John Sullivan, Executive Director of the Free Software Foundation will give a lecture titled "Overthrowing the tyranny of software: Why (and how) free societies respect computer user freedom" at University Paris Diderot next Tuesday, 2 February 2016, at 12:30 in the Amphi 3B, Halle aux Farines building, Paris 75013. Map at: http://www.openstreetmap.org/way/62378611#map=19/48.82928/2.38183
Anyone who has used a computer for long has at least sometimes felt like a helpless subject under the tyrant of software, screaming (uselessly) in frustration at the screen to try and get the desired results. But with driverless cars, appliances which eavesdrop on conversations in our homes, mobile devices that transmit our location when we are out and about, and computers with unexpected hidden "features", our inability to control the software supposedly in our possession has become a much more serious problem than the superficial blue-screen-of-death irritations of the past.
Software which is free "as in freedom" allows anyone who has it to inspect the code and even modify it -- or ask someone trained in the dark arts of computer programming to do it for them -- so that undesirable behaviors can be removed or defused. This characteristic, applied to all software, should be a major part of foundation of free societies moving forward. To get there, we'll need individual developers, nonprofit organizations, governments, and companies all working together -- with the first two groups leading the way.
Cours Magistral de John Sullivan à l'Université Paris Diderot - Surmonter la tyrannie du logiciel: pourquoi (et comment) les sociétés libres respectent les libertés des utilisateurs
John Sullivan, Directeur Exécutif de la Free Software Foundation donnera un cours magistral ayant pour titre "Surmonter la tyrannie du logiciel: pourquoi (et comment) les sociétés libres respectent les libertés des utilisateurs" à l'Université Paris Diderot Mardi prochain, 2 février 2016, à 12h30 dans l'Amphi 3B de la Halle aux Farines, Paris 75013. Plan: http://www.openstreetmap.org/way/62378611#map=19/48.82928/2.38183
Le cours (en langue Anglaise) sera ouvert à toutes et à tous, mais l'inscription est recommandé via le formulaire https://framadate.org/iPqfjNTz2535F8u4 ou par mail à l'adresse email@example.com.
Chacun de nous, au moins une fois dans sa vie, a pesté contre son ordinateur dans l'espoir (vain) d'obtenir un résultat attendu, se sentant dépossède par un tyran logiciel. Mais au jour d'aujourd'hui - avec des voitures autonomes, des dispositifs "intelligents" que nous écoutent chez nous, des portables qui transmettent notre position quand nous nous baladons, et des ordinateurs pleins des fonctionnalités cachées - notre incapacité de contrôler nos biens devient une question beaucoup plus sérieuse par rapport a l'irritation qu'auparavant nous causait l'écran bleu de la mort.
Le logiciel libre permet à chaque utilisateur d'étudier son fonctionnement et de le modifier --- ou de demander à des experts dans la magie noire de la programmation de le faire a sa place --- supprimant, ou du moins réduisant, les comportements indésirés du logiciel. Cette caractéristique du logiciel libre devrait être appliquée à chaque type de logiciel et devrait constituer un pilier des sociétés se prétendant libres. Pour achever cet idéal, développeurs, organisations à but non lucratif, gouvernements et entreprises doivent travailler ensemble. Et les développeurs et les ONG doivent se positionner au premier rang dans ce combat.
1 year of Shuttleworth Foundation Flash Grant
As announced last year, starting January 2015 I've benefited from a "Flash Grant" kindly awarded to me by the Shuttleworth Foundation. This post reports publicly about how I've used the money to promote Free Software via my own activism, over the period January-December 2015.
I'm lucky to have a full-time academic job that provides me with a salary and basic computer hardware. But Free Software not being the only focus of my job, it gets difficult at times to get travel funding to specific Free Software events. So that is what I've mostly used the grant money for: attend Free Software events that I wouldn't have been able to attend otherwise.
On grant money I've attended LibrePlanet 2015
2015-03-19-boston-libreplanet label in the financial
reports below), where I've given the talk
Distributions and the Free "Cloud", and FSFE's LLW
Furthermore I've used the grant to reimburse otherwise not
reimbursed out of pocket expenses in a trip to San Francisco
2015-11-06-san-francisco-gsoc+osi) that have been
otherwise sponsored by Google (to attend the Summer of Code Mentor
Summit) and OSI (to attend a F2F meeting of the Board of
Directors). Finally, I've used grant money to offer lunch to
invited lecturers in my master-level Free Software class at the
Actual financial reports are reported below, in ledger format. It should be noted that, contrary to the usual expected 6-month duration of flash grants, I've used only about half the grant amount over a 12-month period; I do not plan to pocket what remains, but rather keep on using it over the next year, reporting again publicly at the end of the period. Also, I did not breakdown further out of pocket expenses, but they invariably stand for public transport tickets and meals.
1966,11 EUR Assets:Funds -4052,52 EUR Equity:Opening balances 2086,41 EUR Expenses 15,90 EUR Bank:Commissions 424,00 EUR Conference:Registration 56,50 EUR Teaching:Speaker-invitation 1590,01 EUR Travel 249,02 EUR Lodgement 562,51 EUR Out-of-pocket 778,48 EUR Plane -------------------- 0
Breakdown by purpose:
-1265,22 EUR Assets:Funds 1265,22 EUR Expenses 424,00 EUR Conference:Registration 841,22 EUR Travel 213,38 EUR Out-of-pocket 627,84 EUR Plane -------------------- 0
-479,66 EUR Assets:Funds 479,66 EUR Expenses:Travel 249,02 EUR Lodgement 80,00 EUR Out-of-pocket 150,64 EUR Plane -------------------- 0
-269,13 EUR Assets:Funds 269,13 EUR Expenses:Travel:Out-of-pocket -------------------- 0
-56,50 EUR Assets:Funds 56,50 EUR Expenses:Teaching:Speaker-invitation -------------------- 0
2014-12-03 Shuttleworth Foundation flash grant Equity:Opening balances -4052,52 EUR -4052,52 EUR Assets:Funds 4052,52 EUR 0 2014-12-04 bank commissions on incoming transfer Expenses:Bank:Commissions 15,90 EUR 15,90 EUR Assets:Funds -15,90 EUR 0 2014-12-24 plane tickets Paris-Boston round trip to attend LibrePlanet 2015 Expenses:Travel:Plane 627,84 EUR 627,84 EUR Assets:Funds -627,84 EUR 0 2015-01-02 LibrePlanet 2015 registration + travel fund contribution Expenses:Conference:Registration 424,00 EUR 424,00 EUR Assets:Funds -424,00 EUR 0 2015-03-02 plane tickets Paris-Barcelona round trip to attend LLW 2015 Expenses:Travel:Plane 150,64 EUR 150,64 EUR Assets:Funds -150,64 EUR 0 2015-03-19 lunch with invited speaker for lecture about FOSS release management Expenses:Teaching:Speaker-invitation 28,00 EUR 28,00 EUR Assets:Funds -28,00 EUR 0 2015-03-25 lunch with invited speaker for lecture about FOSS business models Expenses:Teaching:Speaker-invitation 28,50 EUR 28,50 EUR Assets:Funds -28,50 EUR 0 2015-04-03 LibrePlanet 2015 out of pocket expenses Expenses:Travel:Out-of-pocket 213,38 EUR 213,38 EUR Assets:Funds -213,38 EUR 0 2015-04-15 LLW 2015 out of pocket expenses Expenses:Travel:Out-of-pocket 80,00 EUR 80,00 EUR Assets:Funds -80,00 EUR 0 2015-05-06 hotel in Barcelona for LLW 2015 (3 nights) Expenses:Travel:Lodgement 249,02 EUR 249,02 EUR Assets:Funds -249,02 EUR 0 2015-11-29 OSI F2F Fall 2015 out of pocket expenses Expenses:Travel:Out-of-pocket 269,13 EUR 269,13 EUR Assets:Funds -269,13 EUR 0
my setup, take #2
Look Ma, I've been interviewed by The Setup, a popular blog with "interviews asking people from all walks of life what they use to get the job done"; so I now sport a fancy http://stefano.zacchiroli.usesthis.com too.
While there is overlap with my previous take on my setup, the questions are different so most of the content is novel. In particular, I quite enjoyed the question about what would be my "dream setup", and indulged in free software/hardware desiderata.
Many thanks to Daniel Bogan for running the blog and kudos for his editing work: while it's just a detail, such an abundance and quality of link titles is not easy to come by on the Web.
R.I.P. Bernard Maris and his thoughts on research and the sharing economy
via Le Monde, 16 Sep 2014:
Que devrait être une politique de
gauche? Une régulation du capitalisme ou une politique de rupture
radicale avec ce système économique?
[…] Nous allons vers une
économie de partage, de la gratuité, du
logiciel libre en effet. La figure centrale de
demain sera le chercheur qui, lorsqu'il donne quelque chose à la
communauté, ne le perd pas. Le chercheur répond aux
besoins fondamentaux de l'homme: la création, la curiosité, le
changement, le progrès. Il est obligé de coopérer. La
coopération canalise la violence, que le libéralisme
espérait canaliser par le doux commerce! L'au-delà du
capitalisme sera une économie solidaire et fraternelle.
Aujourd'hui, la question incontournable porte sur la nature du
translate to English (via Google Translate)
Shuttleworth Foundation Flash Grant
I'm glad to announce that I've been awarded a 5,000 USD "Flash Grant" by the Shuttleworth Foundation.
Flash grants are an interesting funding model, which I've just learned about. You don't need to apply for them. Rather, you get nominated by current fellows, and then selected and approached by the foundation for funding. The grant amount is smaller than actual fellowships, but it comes with very few strings attached: furthering open knowledge (which is the foundation's core mission) and being transparent about how you use the money.
I'm lucky enough to already have a full-time job to pay my bills, and I do my Free Software activism mostly in my spare time. So I plan to use the money not to pay my bills, but rather to boost the parts of my Free Software activities that could benefit from some funding. I don't have a fully detailed budget yet but, tentatively: some money will go to fund Debsources development (by others), some into promoting my thoughts on the dark ages of Free Software, and maybe some into helping the upcoming release of Debian. I'll provide a public report at the end of the funding period (~6 months from now).
I'd like to thank the Shuttleworth Foundation for the grant and foundation's fellow Jonas Öberg for making this possible.
Apparently, enough fellow developers have been foolish enough to nominate me as a prospective member of the Debian Technical Committee (CTTE), that I've been approached to formally accept/decline the nomination. (Accepted nominees would then go through a selection process and possibly proposed to the DPL for nomination.)
I'm honored by the nominations and I thank the fellow developers that have thrown my name in the hat. But I've respectfully declined the nomination. Given my current involvement in an ongoing attempt to introduce a maximum term limit for CTTE membership, it would have been highly inappropriate for me to accept the nomination at this time.
I have no doubt that the current CTTE and the DPL will fill the empty seats with worthy project members.
on perceived hysteria and silent sanity
As you probably already know by now, the results of the Debian init system coupling general resolution (GR) look like this:
Some random thoughts about them:
The turnout has been the highest since 2010 DPL elections and the 2nd highest among all GRs (!= DPL elections) ever. The highest among all GRs dates back to 2004 and was about dropping
non-free. In absolute terms this vote scores even better: it is the GR with the highest number of voters ever.
Clearly there was a lot of interest within the project about this vote. The results appear to be as representative of the views of project members as we have been able to get in the second half of Debian history.
There is a total ordering of options (which is not always the case with our voting system). Starting with the winning option, each option in the results beats every subsequent option. The winning option ("General resolution is not required") beats the runner-up ("Support for other init systems is recommended, i.e., "you SHOULD NOT require a specific init") by a large margin: 100 votes, ~20.7% of the voters. The winning options wins over further options by increasingly large margins: 173 votes (~35.8%) against "Packages may require specific init systems if maintainers decide" (the MAY option); 176 (~36.4%) against "Packages may not require a specific init system" (the MUST NOT option); 263 (~54.5%) against "Further discussion" (the "let's keep on flaming" option).
While judging from Debian mailing lists and news sites you might have gotten the impression that the project was evenly split on init system matters, at least w.r.t. the matter on the ballot that doesn't seem to be the case.
The winning option is not as crazy as its label might imply (voting to declare that the vote was not required? WTH?). What the winning option actually says is more articulated than that; quoting from the ballot (highlight mine):
Regarding the subject of this ballot, the Project affirms that the procedures for decision making and conflict resolution are working adequately and thus a General Resolution is not required.
With this GR the Debian Project affirms that the procedures we have used to decide the default init system for Jessie and to arbitrate the ensuing conflicts are just fine. People might flame and troll
debian-develas much as they want (actually, I'm pretty sure we would all like them to stop, but that matter wasn't on the ballot so you'll have to take my word for it). People might write blog posts and make headlines corroborating the impression that Debian is still being torn apart by ongoing init system battles. But this vote says instead that the large majority of project members thinks our decision making and conflict-arbitration procedures, which most prominently include the Debian Technical Committee, have served use "adequately" well over the past troubled months.
That of course doesn't mean that everyone in Debian is happy about every single recent decision, otherwise we wouldn't have had this GR in the first place. But it does mean that we consider our procedures good enough to (a) avoid getting in their way with a project-wide vote, and (b) keep on trusting them for the foreseeable future.
[ It is not the main focus of this post, but if you care specifically about the implications of this GR on systemd adoption in Debian, I recommend reading this excellent GR commentary by Russ Allbery. ]
My take home message is that we are experiencing a huge gap between the public perception of the state of Debian (both from within and from without the project) and the actual beliefs of the silent majority of people that make Debian with their work, day after day.
In part this is old news. The most "senior" members of the project will remember that the topic of "vocal minorities vs silent majority" was a recurrent one in Debian 10+ years ago, when flames were periodically ravaging the project. Since then Debian has grown a lot though, and we are now part of a much larger and varied ecosystem. We are now at a scale at which there are plenty of FOSS "mass-media" covering daily what happens in Debian, inducing feedback loops with our own perception of ourselves which we do not fully grok yet. This is a new factor in the perception gap. This situation is not intrinsically bad, nor there is blame to assign here: after all influential bloggers, news sites, etc., just do their job. And their attention also testifies of the huge interest that there is around Debian and our choices.
But we still need to adapt and learn to take perceived hysteria with a pinch (or two) of salt. It might just be time for our decennial check-up. Time to remind ourselves that our ways of doing things might in fact still be much more sane than sometimes we tend to believe.
We went on 10+ years ago, after monumental flames. It looks like we are now ready to move on again, putting The Era of the Great systemd Histeria™ behind us.
See the archives for previous posts.