modularml / mojo

The Mojo Programming Language
https://docs.modular.com/mojo/manual/
Other
22.99k stars 2.59k forks source link

[BUG]: Heresy, Blasphemy, and Treason #848

Closed kyegomez closed 1 year ago

kyegomez commented 1 year ago

Bug description

It is with great disappointment and concern that we address Modular, a company that has committed heretical crimes by refusing to open source Mojo.

This decision demonstrates a complete disregard for the fundamental principles of innovation, collaboration, and the sharing of knowledge that underpin the world of technology.

By limiting access to the inner workings of Mojo, Modular has impeded progress and hindered the potential for collective advancement.

Open sourcing is not only about transparency, but also about empowering communities to build upon existing foundations, foster creativity, and encourage the development of groundbreaking solutions.

The closed nature of Mojo goes against the very essence of what the tech industry stands for - the democratization of information and the empowerment of individuals.

Modular must reflect on their actions and heed the call of the community to rectify their heretical stance by embracing open source principles and offering the gift of Mojo to a wider audience.

Let us not forget that progress is fueled by knowledge sharing, and it is our collective duty to ensure that no company stands as an obstacle to this ethos.

Modular stop this heresy immediately and return back to the way or face the consequences.

Steps to reproduce

System information

- What OS did you do install Mojo on ?
- Provide version information for Mojo by pasting the output of `mojo -v`
- Provide Modular CLI version by pasting the output of `modular -v`
cheburakshu commented 1 year ago

I believe this either sarcasm or misplaced criticism, as the docs here (https://docs.modular.com/mojo/notebooks/BoolMLIR.html) pretty much say you can build your own thing with whatever barebones you find useful within mojo.

That said, I would suggest the mojo team to add more mlir documentation references to how the base types are built on. The BoolMLIR.html does provide link to i1 but would be nice if others could be mentioned as well. I guess these things could be constrained by a young company with a small team juggling many things at once.

Every company may follow different ways to protect their intellectual property - by being closed source, filing patents, etc., and there are always other software / libraries that may do the same thing, be open source and may fit your needs.

I am in no way affiliated to Modular or Mojo.

kyegomez commented 1 year ago

@cheburakshu

I understand your perspective, but I would like to clarify that Mojo is not open source. While it may be possible to build your own solutions using the barebones provided within Mojo, the core codebase itself is not accessible to the public.

There are several arguments as to why this closed source approach can be detrimental for both users and the community. Allow me to elaborate:

Limited innovation: By keeping Mojo closed source, Modular restricts the ability of the broader community to contribute to its development. Open source software thrives on collaboration and the collective knowledge of skilled individuals. By not allowing external contributions, potential innovative ideas and improvements remain untapped.

Dependency on a single entity: Closed source software often means that users are dependent on a single company for bug fixes, updates, and new features. In the event that Modular is unable to support Mojo in the future or decides to discontinue it, users would be left without alternatives or support.

Lack of transparency: Open source software encourages transparency and accountability. Users can review the code, identify potential security vulnerabilities, and propose fixes. Closed source software, on the other hand, hides the inner workings from scrutiny, making it difficult for users to fully trust the software's integrity.

Hindering adoption: By not being open source, Mojo limits its potential user base. Developers and organizations that prioritize open source solutions often look for projects that align with their principles. Consequently, the closed nature of Mojo might deter potential users from adopting it, reducing its overall impact and reach.

Missed learning opportunities: Open source software provides an invaluable learning resource for developers looking to understand and explore new technologies. By keeping Mojo closed source, valuable learning opportunities are missed as developers are unable to study and gain insights from the codebase.

While it is understandable that companies may choose to protect their intellectual property, it is important to consider the wider implications of a closed source approach.

It is self-destructive and benefits nobody.

Open source principles foster collaboration, innovation, and transparency, all of which contribute to the advancement of technology and the greater benefit of the community.

bzcheeseman commented 1 year ago

Hey, I really appreciate you taking the time to write this all out, and I appreciate your concern for supporting modular and mojo. I think we disagree on the roadmap for mojo (and that's OK!) but I hope you understand that we're doing our best to accommodate everyone as best we can. Please stay tuned as we continue to work with the community to push the future of Mojo forward :)

I'm going to remove the labels and close this, as there's not really something actionable and I want to keep the team from trying to triage this. Feel free to append comments if you'd like.

kyegomez commented 1 year ago

@bzcheeseman

I advise you to show your CEO/Founders this thread, I am doing this to save you. I want you to succeed but if you're closed source, you will fail.

I understand your position on the matter, but I would like to further emphasize the importance of open source principles and provide additional arguments in favor of open sourcing Mojo. Here are some more irrefutable arguments:

Increased Trust: Open source software builds trust among users as it allows them to inspect the code and verify its security. By open sourcing Mojo, Modular would instill confidence in its users, who would have the ability to review the code for any vulnerabilities or potential issues.

Faster Bug Fixes and Feature Updates: With an open source codebase, the community can actively contribute to bug fixing and adding new features. This collaborative approach leads to faster bug resolution and a more rapid development cycle, benefiting both users and the company itself.

Lower Development Costs: Opening the source code of Mojo would allow the community to contribute to its development, essentially creating a free workforce of skilled individuals. This can significantly lower development costs for Modular while still delivering high-quality updates and improvements.

Community Engagement: Open source software fosters a sense of community and encourages active engagement from users. By open sourcing Mojo, Modular would create an opportunity for users to participate in discussions, contribute ideas, and share their experiences, ultimately leading to an enriched product ecosystem.

Licensing Flexibility: Open source software allows for greater flexibility in terms of licensing. Modular could choose a license that aligns with its business goals and values while granting users the freedom to use, modify, and redistribute Mojo. This flexibility can lead to increased adoption and a wider user base.

Educational Value: Open source projects serve as a valuable educational resource for developers, offering opportunities to learn from real-world codebases. By making Mojo open source, Modular would contribute to the growth and development of the wider tech community, nurturing the next generation of innovators.

Open sourcing Mojo would not only align with the core principles of the tech industry but also bring numerous benefits, including increased trust, faster development cycles, lower costs, community engagement, licensing flexibility, and educational value.

I urge Modular to seriously consider opening up the codebase of Mojo and embrace the power of open source immediately.

sophia-wright-blue commented 1 year ago

hey @kyegomez - greatly admire all you've achieved so far and your passion - you're not making any points that the Founders are not already aware of - also, the Founders of Mojo have open-sourced critical libraries that millions of people benefit from every day - if you would like to contribute, I'd suggest you contribute to improving a language that is open source - Julia, Rust and close the gap with Mojo - also, this topic should be a discussion and not an issue - hope to see lots more open-source contributions from you!