In this post, I would like to fix inaccuracies that I have found in many media about me and the dev team of Dune Network, all of us formerly working at OCamlPro, now at Origin Labs. I will reply to questions such as: was Arthur Breitman my student at Ecole Polytechnique ? was I a co-developer of OCaml ? is OCamlPro a company or a language ? how much did OCamlPro contribute to Tezos ? why did the team switch from Tezos to Dune Network ?
Let’s start with me. I graduated from Ecole Polytechnique in 1996. I started teaching there immediately after, first as an assistant and later as a teacher (Chargé d’Enseignement). In March 2005, I was the assistant of Didier Rémy in a course on Unix Programming, and one of our students was Arthur Breitman. Since we had too many students, the class was split in two classes with different teachers. I don’t remember Arthur, so he might have been in the other class. I stopped lecturing there in 2012, after teaching my own course on peer-to-peer systems for a few years.
In 2002, I defended my PhD, on a programming language for mobile agents, JOCaml, an implementation of the Join-Calculus inside OCaml, a programming language designed at Inria a few years before. Funnily, looking back there, smart contracts really look like mobile agents, with their storage and communication capabilities. So, I was not the co-developer of OCaml. Over the years however, I have contributed some features to OCaml (like the compilation scheme for variables in or-patterns, or a proposal for namespaces and packs of functors), enough to join the OCaml core team, until June 2019.
I did my PhD at Inria, I spent one year at Microsoft Research Cambridge and went back at Inria in 2003, on a full-time position, working mostly on peer-to-peer systems. During my PhD and after, I started contributing open-source software: I wrote one of the first movie players for Linux in C++, and later MLdonkey, a multi-network peer-to-peer client, supporting Edonkey, DirectConnect, Bittorrent, etc., a beast of 200,000 lines of OCaml.
From 2006 to 2009, with two colleagues from Inria, we tried to create a startup, Peerple, a peer-to-peer social network with full privacy. We failed at convincing investors, privacy was not yet a big concern at the time. We pivoted several times, renamed the company to MoveNPlay, wrote one of the first apps for jailbroken iPhones, finally renamed the company to CleverScale as a cloud broker. We had had a lot of fun, we had learnt a lot, but it had come too far from my initial expertise, peer-to-peer systems, so I decided to leave and go back to one of my favorite hobbies, the OCaml programming language.
After two years, I created the OCamlPro company in 2011, a company only focused on promoting OCaml in the industry. We started small, without any investor, but with the support of a few motivated clients often acting more as mecenes, we expanded and could contribute some nice tools for OCaml, like the official package manager, OPAM, and an optimizing version of the OCaml compiler, Flambda. We also worked as a studio, taking projects from an idea to an MVP. In 2014, I was contacted by Arthur Breitman, and we put some of our engineers to work on the prototype of Tezos. In 2017, we also developed the ICO infrastructure for DLS.
At that point, we were supposed to continue working on Tezos for the Tezos Foundation. However, we could not reach an agreement. For example, the Foundation, that just earned 235 millions USD from the ICO, offered us a bonus of 50,000 USD, to be shared between all the engineers that made the ICO successful. And no tokens, on the 76 millions that were allocated for the Foundation. For us, it was a huge disappointment, it was disrespectful of our hard work during the past months to make the ICO infrastructure perfect, as if it was worth almost nothing for them. As a comparison, when the Foundation’s board resigned, each member received a severance of 400,000 USD, after doing nothing for six months.
Yet, we were still caring for the success of Tezos. If Arthur is the father of Tezos, OCamlPro could be seen as its mother. Two engineers decided to join Arthur to work on the core of Tezos, while the rest of the team decided to stay to focus on the ecosystem. For us, it was obvious that the success of Tezos would not depend only on the node implementation, but also on indispensable tools like a nice block explorer and an attractive programming language for Smart Contracts. We also convinced projects like Moneytrack to use Tezos.
Without any funding from the Tezos Foundation, we started working on TzScan and Liquidity on September 2017. In September 2018, one year later, we finally got a grant from the Tezos Foundation, to fund two engineers on TzScan for nine months, with the condition that we would release an open-source version of TzScan. It was far less than what we had already spent, and we had 4 engineers working full-time on the project… but it was better than nothing. In the meantime, our engineers had also spent 6 months contributing to the core of Tezos for the Launch, also paid by the Foundation. At the same time, we applied for another research grant, to develop open-source tools to formally verify smart contracts in Liquidity. OCamlPro was unique, we had one of the best teams in the world of formal verification experts, and they were also Tezos experts! The grant was finally rejected, as our request for another grant on TzScan, in May 2019.
The reason for rejecting the grants was that the open-source version of TzScan was not exactly TzScan, although it was actually more than what was contractually required by the grant. Some components that we had developed before the grant were not included, because these components were dependent on a patched version of Tezos. Yet, open-source TzScan is a fully working version of TzScan, that can be used to monitor a private Tezos network. It was our goal, to provide an open-source tool for enterprises to deploy their own private Tezos network. A non open-source TzScan was also a lock to prevent a fork of Tezos… but not anymore.
For us, it was a second humiliation, again, all our supporting work for Tezos was worth nothing to them. All the more so as our contributions were not limited to TzScan and Liquidity. We had also contributed IronMin, a major improvement on the storage layer of Tezos, that was 10 times more efficient. We had contributed Techelson, a testing engine for Michelson. We had a specific node, IronTez, with extensions for easy customization and programming. Many services in Tezos still deeply rely on TzScan API servers.
We had also sent two security issues to the Tezos Bug Bounty program on HackerOne, they were acknowledged after one month, but we received no bounty (see the legend of the “Good Samaritan” badge). As a last resort, we submitted an amendment, Brest, to fix one of these issues. It was not expected to be a full amendment, but to be included in another, bigger, amendment by the core team. Unfortunately, instead of submitting an amendment including it, and instead of creating a tie to drop it immediately to avoid delaying other amendments, it was used as a way to show that amendments could be rejected by the on-chain governance. Given what Brest was, there was actually very little for Tezos to be proud of.
For the blockchain team at OCamlPro, it was also a financial crisis, as we had invested a lot of money in these contributions, and continuing was only possible through the grants from the Tezos Foundation, as the Tezos ecosystem does not provide a sustainable business yet. We had still many ideas to improve Tezos, TzScan, Liquidity, but could not afford to.
The negotiations with the Tezos Foundation had reached a dead end. Fortunately, we met Starchain at that point. They were serious, competent, connected to many important blockchain actors, and they were looking for a project to build a new blockchain, with a focus on business applications. A version of Tezos, with its proof-of-stake and its focus on security, but tuned for business applications, would be an ideal candidate. And it was exactly what we had wanted to build with Tezos from the beginning! It was also the only way to keep working on a project that we had grown fond of, and to be able to implement our ideas, especially as we had started worrying about Tezos on-chain governance, both from a technical point of view and from a governance point of view (the Tezos Foundation has a huge influence on voters, but is not governed itself by the chain). Also, building a thriving community of users was what we enjoyed doing for Tezos, and it was one of the main focuses of the project! After a few discussions, it was obvious that the project had a great potential, so we decided to depart from OCamlPro to create Origin Labs, and we started working hard to make it successful!
Of course, we know that some investors in Tezos would worry about the impact of Dune Network on Tezos value. However, we think there is no reason for that: both blockchains have different targets, Tezos wants to be the next-generation crypto-currency, while Dune Network wants to be the next-generation blockchain platform for business applications. In Computer Sciences, there is not one solution for all problems, no one-size-fits-all software for all use cases. Instead, there are different solutions for different classes of problems. Investors in Tezos should think of Tezos and Dune Network as such. And they will benefit from both of them.