[opam-devel] [Caml-list] GODI is shutting down

Pierre-Etienne Meunier pmeunier at caltech.edu
Thu Jul 25 02:21:25 BST 2013

Hi Amir,
Hi Opam developers,

Before starting to clarify what I meant, I would like to state that I did not mean any harm to anyone. The least thing I want is to start trolls. I feel sorry if my initial email sounded aggressive to you, this was not my intention at all! I realize that I wrote it in a rush, like almost everything I do, and I should have taken my time to explain what I meant more clearly.

You gave me the opportunity to clearly state what I meant with this "dictator" jargon, so let me take it and try to be as clear as possible. This is one of my favorite topics of discussion, by the way, so I am interested in continuing this conversation, if you want.

> I don't really understand what you mean about dictators.  What would dictatorship look like to you?  I'm always free to remove software from my machine (assuming that it was sensibly installed) so I find it difficult to understand your viewpoint.  If it's a case of contributions I've made to software, then I guess I can't revoke my actual commits but I can stop contributing more.

Without saying anything general about startups being all dictators (I was trying to be careful in my first email to avoid abusive generalizations, sorry if I missed this ;-), I would identify several dictatorial behaviors in the following current software adventures:

- Steve wants to sell phones. Rather, he wants to sell phones running software he likes. Since he does not want to write all the code himself, he found it cheaper to create a "hype" around his phone, and have armies of people working for him for free. Why not? But he becomes a dictator when he decides to choose who has the right to run software on the phones he sells, and who hasn't. His stage of dictatorship is so advanced, that he even discards people's work after its completion!

- Gerd wrote a nice package management system for his favorite programming language. He wants to manage all the packages people use. Fine! But he becomes a dictator when he removes a package from his servers because of a personal conflict with its authors. When a coup is decided, he even goes crazy and starts insulting everyone around.

- Tom wants to sell software. Problem is, he does not have the technical skills to produce it. He thus decides to open a "free" repository service, using other people's software to sell whatever other people are producing. Business is business, right? But he becomes a dictator when he makes the system so closed, and the people so dependent on it, that he can get control over what software people get interested in, what software deserves to die. He can make people believe that any software not using his platform is crappy, any project not "github-compliant" is a dying project.

- Eric runs an internet search engine, based on an awesome algorithm. He wants to make as much money as possible with this software, and everyone agrees, making money with math is the coolest thing. But he becomes a dictator when he uses this power to decide who should see such and such result, what advertising they should see based on what happened in their private life, for instance in the satellite photo of their garden last night.

- Mark wants to let people stay in touch with their friends. He could do it with blogs and rss feeds, but he really wants to design something new. If he can come up with a better design, that would be awesome, right? Sure, but he became a dictator as soon as he used it to control how people can connect with each other, what they can exchange, censor whatever he wants for the sole sake of his own profit and power.
Of course, no one is forced to use it. But in a world where the "hype" has taken over all my friends, should I replace my friends, or fight for a better world?

- As a comparison, let me just finish with the case of Ian, who started a linux distribution a few years ago. He designed it to be distributed and mirrored everywhere by any volunteering participant. He retired from the project three years after starting it, and moved on to something else, after ensuring no one could take control over "his" project, not even himself.

> Side note: I think your characterisation of 'startups = dictators' is overly broad and not particularly useful.  By that reasoning *any and every* new project is trying to be a dictator.  Do you really believe that?  I notice that Patoline's site doesn't explicitly state that you're not trying to be dictators (but of course, I wouldn't have assumed that you were).  I don't really want to get into a debate about free vs open vs closed software, I'm just trying to understand what 'dictators' means to you.

I am really sorry if my characterization seemed too general. I said something more moderate, like "there is a trend" and "repeating so often that you admire a dictatorial company such as github". This does not mean at all that I do not admire people who start ambitious projects, this is even one of the main ways the world improves!

It just means that, given some of the current patterns in the software business, that I listed above, this is a reasonable concern. If opam were completely closed, on the model of cabal, for instance, I would really find it less interesting: after all, if I am considering writing packages on my free time, I don't mind if someone makes profit out of it, but I do if they can control its distribution, based on their own standards of quality or whatever: I consider it a restriction of my freedom of expression.

My point was not to start a troll on freedom, nor on opam, nor on godi, nor on anything. I just wanted to make a comment as constructive as possible on a project that I find nice, but that would require me an effort, and a part of my limited time, to start using.
Before adopting it, and contributing to it, I just wanted to make sure its authors shared my standards of ethics, freedom about the way I normally distribute my work. I am not employed by any company, I may be in the future, but I will certainly never work for one for free.

The example you picked with Patoline raises an interesting point. We do not state anything about dictators on our website, because Patoline is a product, and not a service. If someone sells you a product like a chair or a table, you have the right to use it in whatever way you want. You can place it upside down in your living room, stand up on it, throw it on your neighbors and colleagues if you want. It is not even possible to imagine a dictator of tables (well, the case of Steve's phone, above, is an exception ;-). Ocaml does not need to clarify this, either. It is a product, you can run it on your machine without requiring any input from anyone.
The particular case of opam is strange, as it qualifies both as a product and as an online service. I do not know what this means.

But in the story of Mark, above, since he runs an almost purely online service, he definitely needs to clarify this point. And he does: "Everything you post on facebook is ours. We are sorry, and fuck you."

By the way, Patoline started as an academic project, so the comparison is difficult: we do not intend to make profit with it. The constraints of a startup are different, but I know we need them in order to get good quality software, moving fast. I shamelessly admit that I spend more than 95% of my time doing research in theoretical computer science and maths, and less than 5% on Patoline. A startup would have already delivered two nice versions of Patoline, while we are still struggling to get a crappy version 0.1 out.

>> - Ok, now I want to use it. I know how to write a package, how to make my own repository, how to install a package, how to submit it to the "official repository" (whose name would look more friendly to me as "Ocamlpro's repository").
> I'd find OCamlPro-Repository to be quite confusing.  I'd expect it to be 'opam-repository' and also for it to the be first one I get with opam.  Not sure how this comes across as 'unfriendly'.

Again, I hate sounding aggressive.
I am deeply sorry if this looked unfriendly to opam developers, and I understanding it, after these days of pointless flame wars on the caml list, but "more friendly" does not mean that the others are "unfriendly". It just means that a possible way to comfort paranoid people like me about these freedom issues would be to not have "official" rulers of the service, and only "main developers" of the product.
I believe that our freedom of expression on the internet still needs to be defended at this time of "cloud hype". For products, a statement I like was given in the debian project : http://www.debian.org/intro/free.

I feel sorry for all this useless noise, and for my quick instinctive reactions.

More information about the opam-devel mailing list