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:

    1. Linux (operating system)

    2. WordPress (website creation)

    3. MySQL (database management)

    4. Apache (web server)

    5. Hadoop (software for distributed computing)

    6. R (data analysis software)

    7. Zimbra (collaboration suite)

    8. Thunderbird (email client)

    9. VLC (media player)

    10. Android (operating system)

    11. Pidgin (instant messaging)

  • Notable Open Source AI Examples:

    1. Transformers by Hugging Face (NLP library)

    2. Diffusers by Hugging Face (image generation models)

    3. LLaMA 2 by Meta (large language model)

    4. DeepSeek (large language model)

    5. BLOOM by BigScience (multilingual model)

    6. Mistral (high-performance language model)

    7. 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
  1. 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.

  2. 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.

  3. 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.