Open Source AI
Open Source AI
Generative AI for Business - Spring 2025 Introduction
Open Source Software (OSS):
Concept akin to a public library, providing software tools freely for use, modification, and sharing instead of requiring payment or private licensing.
OSS has been transformative in software development for decades, and open source AI (OSAI) is a newer development stemming from OSS principles.
To understand open source AI, one must first understand open source software, noting the intersections and unique aspects that arise in AI.
Open Source Software Definition
Open Source Software:
Software whose source code is accessible to everyone.
Source Code: Human-readable instructions written in programming languages (e.g., Python, C) to create software.
Binary Code: A form that can run on computers consisting of 0s and 1s; requires a translator to convert source code into binary:
Translators: Include compilers and interpreters.
Software writers can:
Share the source code, allowing modifications — termed OSS.
Share binary code only, known as closed-source software, keeping source code proprietary.
Examples of OSS and Open Source AI
Notable OSS examples:
Linux (operating system)
WordPress (website creation)
MySQL (database management)
Apache (web server)
Hadoop (software for distributed computing)
R (data analysis software)
Zimbra (collaboration suite)
Thunderbird (email client)
VLC (media player)
Android (operating system)
Pidgin (instant messaging)
Notable Open Source AI Examples:
Transformers by Hugging Face (NLP library)
Diffusers by Hugging Face (image generation models)
LLaMA 2 by Meta (large language model)
DeepSeek (large language model)
BLOOM by BigScience (multilingual model)
Mistral (high-performance language model)
FastChat (open source chatbot framework)
Why Businesses Use Open Source Software and Open Source AI
Cost Savings: Open source solutions are frequently free to use compared to costly proprietary software.
Modification and Tailoring: Allows businesses to modify software or AI quickly to suit their specific requirements.
Reduced Vendor Lock-in: Open source software reduces the dependence on a single vendor's ecosystem, providing flexibility in technology choices (e.g., Zimbra vs. Microsoft Exchange).
Data Privacy: Greater control over data processing and where data is stored, which enhances security compared to proprietary solutions.
Easier License Management: Permissive licenses minimize negotiation complexities, reducing administrative burdens.
Trial Before Commitment: Companies can experiment with open source software in real environments, ensuring suitability before investment.
Attracting Talent: Companies participating in open source are seen more favorably by developers as credible and committed to community engagement.
The Meaning of ‘Free’ in Open Source Software
Terminology: Free Software, Free and Open Source Software (FOSS), or Free/Libre and Open Source Software (FLOSS).
Key Concept: Freedom pertains to use, modification, and redistribution – not price.
Example: Meta’s LLaMA 2 and Mistral support modification and redistribution under licensing privileges.
Motivation Behind Contributing to OSS
Individual Contributors
Intrinsic Motivations:
Learning and Intellectual Curiosity.
Example: Contributions to Hugging Face Transformers driven by a desire to understand AI models.
Sense of Community.
Example: Contributors to Stable Diffusion feel part of a larger open alternative movement.
Professional Identity Development.
Example: Gaining visibility through contributions to well-known repositories like LangChain.
Extrinsic Motivations:
Enhancing Work-Related Functionality.
Example: A nuclear engineer translating Zimbra for a client's usability.
Creating new Tools for Professional Work.
Example: The creators of the Haystack AI project.
Adding Personal Features.
Example: GAIM (now Pidgin) developed by a user to meet personal messaging needs.
Fixing Personal Tool Limitations.
Example: Zimbra user creating an anti-spam solution.
Company Motivations
Foundation for Commercial Products:
Companies leverage OSS to create and monetize closed-source services or applications.
Example: Microsoft monetizing Visual Studio Code through GitHub Copilot.
Quality Improvement Through External Contributions:
Wider collaboration leads to innovations and faster bug fixes.
Example: Meta’s collaboration on LLaMA models for external feedback and enhancements.
Influencing Development Directions:
Companies contribute to steer critical software in a way that benefits their operations.
Example: Samsung’s involvement with the Linux kernel.
Using and Modifying Open Source Solutions
Licensing Implications:
Determines how users can modify, distribute, and utilize the software or AI.
Types of Licenses:
Copyleft Licenses (e.g., GNU GPL): Require modifications to be shared as OSS along with source code.
Example: Linux, under GNU GPL, can be modified but must disclose the source code if distributed.
Permissive Licenses (e.g., MIT, Apache, BSD): Allow proprietary modifications and do not require sharing changes.
Example: Apache HTTP server and Falcon LLM’s permissive licensing allows businesses to keep adaptations private.
Challenges of Open Source AI
Incomplete Access to Data:
Often lacks access to training data needed for reproducibility, impeding trust and validation.
High Infrastructure Requirements:
Extensive hardware demands (e.g., expensive GPUs) are often beyond reach for smaller entities.
Security Risks from Poor Management:
Necessitates that organizations maintain and properly configure models and libraries to mitigate vulnerabilities.
Dependency Risks:
Vulnerabilities deep within dependency trees can lead to unnoticed security flaws.
Potential for Misuse:
Open models can be exploited for unethical purposes such as creating deep fakes.
No Legal Indemnity:
Open source models lack warranties; companies bear liability for misuse of generated outputs.
Forking and Fragmentation:
Splits communities and resources, complicating user decisions for support.
Accessibility Limits:
Practical limitations in using open models exist due to resource constraints.