Stephan Schmidt
What does Open Source AI Even Mean
Is AI from Meta Open Source?
Don’t let people water down open source.
Open Source rAI is the new hot thing. To position Meta AI against Google and Apple, Meta declared Open Source AI is the way forward.
Let’s take some steps back.
Open Source.
The Meta article makes it sound as everyone knows what Open Source AI means. And it doesn’t get into any details what Open Source AI means. But this is far from clear.
It took us decades to understand open source for source code. We had the discussions about GPL2 vs. GPL3, forking projects, what other licenses code you can use, what linking means (GPL vs. LGPL, linking for dynamic languages), linking in byte code with Java. With the internet and companies using open source servers, and changing them, without giving the code, we had a discussion around what “release” means. We have the rise of AGPL as a reaction. We had the discussion around ‘free as in beer’ and open source. A discussion around “Open Source” and “Source Available” where companies give you the source, but you can’t do anything with it. SaaS companies using open source projects but not giving back. SaaS companies using open source software contributing patches but undermining the business models of open source companies (Amazon can easily add enterprise features themselves and give that to all AWS customers). We have seen the relicensing of Redis and that of Vault and Terraform by HashiCorp. And the subsequent forks to keep the projects open source. And after decades of open source we’re still struggling.
We have no consensus or even clue what open source AI means.
It goes even deeper than the license.
We know what tools and artifacts in software development do:
- Source Code
- Editor/IDE
- Compiler
- Linter (though some languages have more in the compiler (Rust) and more in the linter (Go))
- VCS (like Git)
- Binary
- Deployment (distributing binary, Docker, Smalltalk machines where the working env is deployed look a lot like AI models in this regard)
We have no common understanding of the AI toolchain and artifacts: What categories of tools and artifacts exist? What is the difference of Pytorch vs. Tensorflow? Are they the same? What about Lama.cpp? What is the trained model vs. the definition of the model in e.g. TensorFlow? What are the trained weights?
If we assume some mapping of
- Source == Training Data
- Compiler == Model
- Binary == Trained Model
Then we can’t have an open source without the training data being open. Then “Meet Llama 3.1—The open source AI model you can fine-tune, distill and deploy anywhere” just looks like making a binary free to patch - a far cry from open source. Then we have an open source driver with a proprietary binary blob. And we know what that leads to.
Don’t let people water down open source.