Some information on the Deno license/business model in a Changelog podcast:
Everybody’s trying to figure out open source companies and how to do this properly… And one model of doing this is the open core model, where your open source software would be free, but then you’d kind of have an enterprise edition that you add on some extra nice features, and you would charge for that.
You can also get into some licensing trickery, where maybe you make your software AGPL-licensed, and kind of allow people to run this locally, or kind of in non-commercial applications for free… But once you get into the commercial realm of things, you are then asked to pay a fee.
I think for Deno - this is a programming system that we’re asking people to program against. We’re asking a lot of our users, we’re asking them to invest a lot in the system… And I personally would be very, very uncomfortable with programming using the base layer of my – you know, Deno sits below all of your other software; I would feel very uncomfortable if there was some weird payment hook at that layer of the system. It would prevent me from ever even trying out the software, in fact… And I think that’s the case with Deno. If we tried to make Deno itself commercial, and people are looking at Python, and Node, and Ruby as alternatives, I think many would choose the solutions to this problem that do not have a payment hook in it.
[01:00:11.01] We are pursuing a different funding/revenue model. As I said, we think this software is pretty useful, and we think it’s useful in different commercial applications. I haven’t mentioned it yet, but Deno - you download it as this one executable, but it’s actually a collection of software, and we’ve been pretty careful in breaking this up into different bits that we can recombine in different ways… So we have a product that we’ve been working on for the last six months or so that is a different runtime. It is called Deno Deploy, and it has a very similar API to Deno, a very web browsery API. It’s a JavaScript runtime, but it doesn’t run on your computer, it runs in the cloud. You can think of it as a dynamic CDN if you want to… So we have processes running in 22 locations around the world, and we have an Anycast IP, and you can provision a domain name on our system. When you go to access your domain name, it resolves to this Anycast IP, and that gets routed to the nearest data center. So if you’re in Tokyo, it gets served locally in Tokyo.
And rather than a CDN which responds with static content, this invokes a JavaScript hook. It is a serverless system, so think AWS Lambda, or Cloudflare workers… So it’s a system for responding to requests dynamically. The best way to describe it is it’s a web server, a multi-tenant web server with V8 built into it. It is completely a separate system, and this thing AWS cannot – this is not open source; this is proprietary code.