Juan Cruz Viotti

Hey there! I’m Juan Cruz Viotti. I’m a member of the JSON Schema Technical Steering Committee, O’Reilly author (Unifying Business Data and Code: Designing Data Products with JSON Schema), award-winning University of Oxford alumnus, and founder of Sourcemeta, my tiny company where I work in open source for a living.

Some of my notable open source current work includes Blaze, a high-performance C++ JSON Schema validator, a JSON Schema CLI designed for maintaining large JSON Schema ontologies, the Learn JSON Schema popular documentation site, and JSON BinPack, an on-going research project for space-efficient IoT data transfer. I also help co-organising the JSON Schema track within the API Days Conference and I’ve been a mentor in Google Summer of Code a couple of times now.

You may also know me as the original author of Etcher, plus I’ve been casually involved in many other projects in the past, such as helping architect the Node.js Single Executable Application initiative.

It all started with open source

Many professional software engineers have asked me for advice on how to get involved in open source. But for me, it was the other way around: open source is what gave me a career.

As a kid growing up in Argentina, I loved building things and tearing them apart. Of course, it was no different when we got our first family computer. After overly fiddling with it and making it unusable for others several times, I got my own, which only made the fiddling problem a lot worse.

Computer magazines and the Internet quickly introduced me to GNU/Linux and the open source philosophy. Back then, Ubuntu was gaining attention and Canonical was mailing live CDs for free to boost adoption. I never thought it would make it through customs to a 12 years old kid, but it did. I remember having to reassure my mother that it was nothing dodgy and that I had not somehow spent any money on it without her permission.

It is hard to use GNU/Linux without being exposed to source code, which got me excited about programming. For years, I was hanging out at IRC servers trying to send patches to arbitrary projects and reading every programming book I could get my hands on. Most of those books were from O’Reilly, and seeing my name on an O’Reilly cover now always gives me a ton of flashbacks.

When I was around 16 years old, GitHub was gaining popularity. I joined early on and started publishing a lot of random projects, ranging from C experiments with UNIX sockets to my own Linux package manager. To my surprise, people reached out and I landed a few contracting gigs with some overseas startups. As a 17 years old teen, I couldn’t take international wire transfers under my name, so I took Bitcoin (and made good money when Bitcoin exploded some time later!)

Soon after I turned 18, I opened a bank account and landed my first proper full-time job as an adult at a tiny London-based company that would eventually become Balena, a well known multinational IoT startup valued at $558M with $101M in funding. It was a hell of a roller coaster (in a positive way!), and my experience there serving as an Engineering Lead taught me many valuable lessons. Of course, Balena is almost entirely open source.

From open source hacker to founder

Thanks to Balena, I eventually moved to England, and as a Harry Potter fan (who read the series too many times), I was thrilled when I was accepted to the University of Oxford. I spent my time there studying formal methods, mathematical proofs, formal specifications like the Z Notation, and formal concurrency models like CSP. Hint: JSON Schema is not too different from these things!

By the end of my degree, my dissertation focused on the use of expressive schema languages to derive binary serialisation rules for higher compression when transmitting telemetry data over 5G and satellite. The result was JSON BinPack, an experimental open-source binary serialisation format based in JSON Schema that proved to be more efficient than every other tested alternative in every single tested case. I was awarded the CAR Hoare Prize for the best dissertation and resulting project.

While wrapping up at the University of Oxford, I started contracting at Postman, a popular company in the API space. In a twist of serendipity, Postman started employing JSON Schema core contributors as a way to sponsor their work. After my previous research around JSON Schema, this fueled my involvement there even more, and I eventually joined the JSON Schema Technical Steering Committee.

My official JSON Schema membership and my recently published O’Reilly book touching on JSON Schema (Unifying Business Data and Code: Designing Data Products with JSON Schema) led me to various engagements with companies that were part of the community. This gave me additional firsthand experience on how substandard the ecosystem was for use cases beyond trivial.

For example, validating a simple configuration file is easy. But properly pulling off a large-scale schema ontology or API Governance program was borderline impossible from a tooling point of view. Educational resources were lacking too. Before I kickstarted Learn JSON Schema, there was no reference documentation for JSON Schema at all. You had to read and grok the specifications, which was no easy task.

I saw this gap as a great opportunity to capitalize on my own self-funded company: Sourcemeta. Balena taught me how customers can see open source as a competitive advantage, and of course, I embraced the same principle at Sourcemeta.

The future is open source

JSON Schema is one of the most ubiquitous technologies I saw in a while. It is everywhere, from Fortune 100 companies and scientific institutions all the way to governments and early stage tech startups.

At Sourcemeta, our goal is simple: we want to provide the very best enterprise-grade tooling and services across the entire JSON Schema ecosystem. All our offerings, including the fastest schema validator available in the market and an upcoming self-hostable schema registry, are publicly available on GitHub under the AGPL-3.0 and a non-copy-left licensing model that guarantees our sustainability.

JSON Schema itself is open source. Sourcemeta offerings not only help our users get more out of JSON Schema, but also help fund my own continued work in the JSON Schema open source organisation. It works out because they both feed into each other.

Finally, I believe that open source is not a philosophy. It is what makes software powerful, and that is why we need more people working in open source. However, donations is not a sustainable model and we don’t do ourselves a favour by portraying open source as charity. Instead, I encourage entrepreneurs to build commercial open source products, and users to prefer buying from open source vendors. Together, we can create a market where open source is the rule, and not the exception.

After all, I wouldn’t be here if it wasn’t for open source.

Read stories shared by other maintainers.
This story was published under CC BY-SA by the author.