Will Mojo eventually be fully open source?

I am hesitant to use Mojo as I fear that the developers of the language will eventually put key features behind a paywall once the language becomes more popular. I did note that the corporation developing Mojo is VC-backed and for-profit, so it would make sense for something like this to eventually happen
12 Replies
mad alex 1997
mad alex 1997•15mo ago
Mojo will be opensource the AI engine will be proprietary.
TeamPuzel
TeamPuzel•15mo ago
Historically genral purpose programming languages with restrictive licensing tend not to be as successful. Especially now it's very important for a programming language that there's a community making useful libraries. It's very unlikely that would happen as it's just a bad idea. :)
marsninja (Jason)
marsninja (Jason)•15mo ago
Thanks for this crisp answer. I totally understand the rationale that its not fully open yet as the lang is still changing a lot. I do have to say that the develop-in-the-open style of open source (not accepting contributions) gives the community a lot of piece of mind that Modular is super serious about the decision and there won't be equivocation. Following something like Oracle's classic Java approach (lang is open, runtime is not) could make sense here. Indeed, simply open sourcing the formal grammar of the language (and perhaps the ast builder and data structures) sooner than later is enough to provide significant piece of mind. Indeed, I'd probably start hacking a simple toy compiler/interpreter right away to enjoy the beauty of the Mojo language in a more intimate way. I mean think of it this way. There is nothing to loose and much to gain by Modular. I mean, releasing language docs and closed SDK but not giving the community a formal spec and toy implementation to munch on is the worst of all worlds. People get to see the key ideas of the language and syntax, and without being able to jump in to become full Mojo nerds and contribute or be a part, they may ultimately reverse engineer their own grammar and implementation that diverges but opens up before Mojo and Mojo can loose mindshare. On the other hand, since the cat is out of the bag, you can open up just enough to not give away anything more than what is already known, but have the community build tons of IDE plugins, and ecosystem tooling, and not have the core team be alone with the heavy lift of building both the general ecosystem and the juicy core lang / engine bits. There's tons of hype right now around Mojo, so a bunch of folks would be excited to build good stuff for Mojo's broader ecosystem for free. But all we need is a little nod that instills the trust that Mojo is a forever thing. I don't know, Just a thought by a potentially huge fanboy!!! + @Chris Lattner + @TheRiddler @Jack Clayton
mad alex 1997
mad alex 1997•15mo ago
Please don't ping modular staff other than jack. They are busy people.
marsninja (Jason)
marsninja (Jason)•15mo ago
Ok, Just read rule 6, I guess it extends to tag's too, wont happen again
Chris Lattner
Chris Lattner•15mo ago
Hi Jason, I respectfully disagree on several levels. "There is nothing to loose ... by Modular." => Disagree. We are already being crushed by interest, usage, and community. Opening up more channels of debate and engagement will make that worse and slow down mojo development, not speed it up. "and much to gain" => Definitely in the long term, but not in the short term. Opening up a formal spec is simple, but means we'd have to write one, which isn't on our roadmap. I'd welcome anyone to do that, you're not bound on Modular to do this. Furthermore, we're not trying to convince the world to use Mojo. We are making it available for people to use and play with and get in on the ground floor if they'd like to, but Mojo is a "0.2" maturity programming language that has well documented (in our roadmap) feature work ahead of it. It doesn't benefit Mojo to get a lots of users that think it is production quality when their code may be broken We've already committed to starting the open source process by the end of the year, and we intend to do that right: with a permissive license, allowing community contributions etc. However, it is a LOT of work. I appreciate your anxiety and love your interest, but neither are a good reason for us to do things half-way or rush things we've already said we are going to do. One thing I'd love for you to understand is that building a programming language from scratch is a HUGE amount of work, and not something we walked into lightly. We did this with full knowledge of what the journey takes (e.g. experience from building Swift) and want to make sure that Mojo is MUCH MUCH better than other languages that exist (otherwise, why bother?). As such, a huge amount of the work are on very deep and very subtle things that need to be put in place. TLDR: Our interest is to build the next great system that lasts for the next 30 years, not rush something out as a demo and claim artifical success. If we wanted to growth hack, there are well known ways to do that, but that is not our goal and would not be good for Mojo.
marsninja (Jason)
marsninja (Jason)•15mo ago
I appreciate the insight and level of thoughtfulness around the approach. What you're saying make total sense. However, from a branding and marketing execution standpoint, Mojo has been presented to the community with an apple iphone level of competence. This is a testiment to the excellence of those functions at Modular, however does bring a lot of attention to Mojo as the next big thing in technology. To your guys' credit, I think Mojo lives up to this expectation and then some (though still under development). Perhaps its a communication clarity thing. This post you've made (which I'm very grateful for) is the crispest comms on your open source philosophy around Mojo I've seen publicly (that can just be my inability to find it). However, the key nugget I cant find from what I've come accros is where does the open sourcing process end, does it end at standard libraries, or compiler itself or some parts of it? Maybe thats not determined yet, but unclarity there may be a barrier to entry for some at this particular epoc. TLDR; I get the philosophy, indeed I like it, but specifics are vauge at this point. Mojo feels like a launch overall (an impressively executed one). Clear comms (via perhaps a webpage called "Open Source Strategy" linked off of the mojo page) would be helpful. The work you're doing is legendary!
Chris Lattner
Chris Lattner•15mo ago
I think the disconnect is that you think Modular is something like Apple that has a comms team and a 10 year plan. We're not :-), we're a small group of (imo pretty talented) folks who are trying to make a difference. Our "comms team" is Tim and I, and I'd really like to finish up the engineering on the lifetimes feature 😉 (among other things)
andrei
andrei•15mo ago
"However, the key nugget I cant find from what I've come accros is where does the open sourcing process end, does it end at standard libraries, or compiler itself or some parts of it? "
this is still unclear. it's not unreasonable to expect a little more clarity around what the bounds of the open sourcing will be. when i run mojo code in the future, will it be possible to execute any possible valid mojo program without having to run proprietary code? or will there be certain types of programs (e.g. those that import certain sections of the standard library, or whatever it may be) that require closed source code to operate? If i need to run closed code when I import Tensor, that severely limits the scope of the base language. and sure, the open source ecosystem can recreate a lot of missing pieces, it would just be good to have more clarity about what the bounds are expected to be, even if it's a very rough estimate. i realize making commitments this early may seem like a bad idea, but it's a legitimate concern for many
Chris Lattner
Chris Lattner•15mo ago
Andrei, we haven't formalized our open source plans; as I mentioned, we have plenty of other things going on. We've committed to getting stuff out by the end of the year. If you're feeling uncertain, feel free to check back in Jan or whenever that happens.
andrei
andrei•15mo ago
thank you, i don't mean to be a pain about this. i appreciate the response, will be checking back in. mojo is very cool
avarshina
avarshina•15mo ago
For those interested in more, Chris said a lot about what he mentioned above in an interview with Lex Fridman, and even more topics, see: https://youtu.be/pdJQ8iVTwj8?si=rd46rfgrdWeIxgb9
Lex Fridman
YouTube
Chris Lattner: Future of Programming and AI | Lex Fridman Podcast #381
Chris Lattner is a legendary software and hardware engineer, leading projects at Apple, Tesla, Google, SiFive, and Modular AI, including the development of Swift, LLVM, Clang, MLIR, CIRCT, TPUs, and Mojo. Please support this podcast by checking out our sponsors: - iHerb: https://lexfridman.com/iherb and use code LEX to get 22% off your order - N...
Want results from more Discord servers?
Add your server