Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Licensing question #1064

Closed
rimas-kudelis opened this issue Nov 4, 2024 · 3 comments
Closed

Licensing question #1064

rimas-kudelis opened this issue Nov 4, 2024 · 3 comments

Comments

@rimas-kudelis
Copy link
Contributor

rimas-kudelis commented Nov 4, 2024

I started a project based on Sylius Standard today, and I'm a bit unsure what to do with the LICENSE file.

On the one hand, the project I'm creating will not be open-source, so it seems incorrect to keep the LICENSE file as-is.

On the other hand, the file specifies how Sylius Standard itself is licensed, and the project I've started will definitely include "substantial portions of the Software" so, at least from a very strict point of view, I'm supposed to retain pretty much the whole contents of the file somewhere in my repo. But this doesn't make sense from a practical point of view, because "the Software" in this case is just a barebones skeleton, which wraps around sylius/sylius and a few other packages.

I wonder what your take on this is.

@damonsson
Copy link
Contributor

Keeping the LICENSE file in your repository is both necessary and appropriate. Here's why:

Sylius Standard is Open Source
The LICENSE file in Sylius Standard outlines the terms of the MIT License, under which the project is distributed. Even if your project is not open source, it includes components from Sylius Standard, so retaining this file is required to comply with the license terms.

Attribution Requirement
The MIT License allows you to use, modify, and distribute the software, even in closed-source projects, provided that the original license and copyright notice are retained. This is a standard legal obligation for any project built on open-source software.

Practical Implementation
You are not required to include the LICENSE file in sections of your code that are entirely your own work. However, any parts that incorporate Sylius Standard or other open-source dependencies must retain their respective LICENSE files.

@rimas-kudelis
Copy link
Contributor Author

rimas-kudelis commented Dec 5, 2024

You basically explained what the MIT requirements are, but my point is that these requirements seem quite impractical and likely not enforceable for Sylius Standard, which is a template project consisting of a collection of mostly boilerplate, autogenerated, dummy, and configuration files, which are hardly copyright-worthy. Even the favicon image is more suitable as a subject of trademark law rather then something you'd claim copyright over. So in my opinion, licensing under MIT with no clarification is somewhat confusing/misleading.

Additionally, the only place where MIT license currently seems to be specified in this project is the LICENSE file. How exactly do you even envision your downstream users including that LICENSE file in "parts [of code] that incorporate Sylius Standard"?

I found a couple links that talk about this issue and, well, reinforce my position:

I wonder how many people actually follow the requirement of the MIT license in real life for projects like this one. IMO, it would make sense to relicense Sylius Standard under CC0 to avoid confusion and/or add a post-create-project-cmd which would remove the LICENSE file.

If you have lawyers at Sylius, I wonder what they think about my arguments.

@damonsson
Copy link
Contributor

Thank you for raising your concerns. While your arguments regarding the nature of Sylius Standard and its boilerplate aspects are noted, the position of Sylius is clear: the MIT License, as currently applied, is both legally valid and necessary. Here’s why:

1. Copyright and Boilerplate Code
While boilerplate or autogenerated code may appear less "copyright-worthy," it still falls under copyright law in most jurisdictions. Copyright does not require a work to be groundbreaking or artistic - it simply needs to be an original expression, no matter how minimal. Sylius Standard, as a cohesive project, meets this criterion.
Even if individual files seem trivial, the overall structure and composition of the project represent a creative effort, and the MIT License protects this work.

2. Legal Framework for Open-Source Use
The MIT License is one of the most widely recognized and understood licenses in the open-source community. Retaining the LICENSE file:

Ensures that all users clearly understand the terms under which Sylius Standard can be used, modified, and distributed.
Provides legal protection for Sylius and its contributors by setting explicit expectations for attribution and usage.
This is not a matter of enforcement - it’s about maintaining clarity and consistency for all users and contributors, regardless of how the code is used.

3. Trademark and Attribution
Regarding the favicon and other potential trademark-related elements:
The MIT License covers copyright, not trademarks. However, including these elements in the LICENSE file ensures users are aware of the ownership and conditions under which these assets can be used. Removing the LICENSE file entirely or failing to adhere to its requirements could lead to ambiguity, which we aim to avoid.

4. Retention of the LICENSE File
The requirement to retain the LICENSE file applies to all derivative works or projects incorporating substantial portions of Sylius Standard. How this is implemented in downstream projects is ultimately up to the developer, but the LICENSE file must remain in any part of the project that utilizes code from Sylius Standard. This is a standard practice across open-source software.

Conclusion
The MIT License applied to Sylius Standard remains the best choice for balancing legal clarity, user flexibility, and project attribution. We encourage all users to respect and adhere to its terms as they are fundamental to the open-source ecosystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants