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

Add a paragraph about compatible licenses #461

Merged
merged 2 commits into from
Feb 28, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions src/content/1.7/contribute/contribution-guidelines/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,46 @@ Remember, this is only needed for the Pull Request form, not for your commit mes

[how-to-compile-assets]: {{% ref "1.7/development/compile-assets.md" %}}


## Dependencies

Adding third party software in the core or in a module might sometimes be faster and easier than to develop it from scratch and then to maintain it. Composer and NPM are used to manage such dependencies in the PrestaShop open source project.

It is possible to add new dependencies, after a careful selection and study. A few rules must be followed.

### Licenses

The first step is to check the **legal compliance** of a third party software. The PrestaShop open source project being written and distributed under the OSL license, aggregated dependencies must be compatible with it.

Below is a list of the known compatible licenses that can accepted for software:

- MIT
- ISC
- BSD
- AFL
- EUPL
- Apache
- CC-O
- Unlicense

Additionally, artwork (e.g: icons, pictures, fonts, but not only) is usually distributed with specific licenses. Below is a list of known compatible licenses that can be accepted for artwork:

- CC-0
- CC-by-sa
- CC-by
- Art Libre
- Artistic
- Unlicense

In general, public domain is not acceptable, as it doesn't exist in all juridictions or countries.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you certain about this? We are currently using these flags for example, which don't specify one of the aforementioned licenses: http://www.famfamfam.com/lab/icons/flags/

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

certain about what ? artistic / unlicense? or public domain? or both?

Copy link
Contributor Author

@ttoine ttoine Feb 19, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked famfamfam icons pack. There is a readme that give more information:
"These icons are public domain, and as such are free for any use (attribution appreciated but not required)"

I guess that thanks to the small additional information in the readme, we are safe. But this is very light.

However, in general, it would be better if this kind of dependency could be in CC-0, as this license includes a workaround for countries where public domain does not exist.

If we use a set of icons (e.g material) that includes flags, with a good license, maybe we should use them instead.

Copy link
Contributor Author

@ttoine ttoine Feb 19, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional information: just keep in mind that open source licenses are used to give right to the users and protect them when they use the software (use, study, modify, redistribute)

If there is nothing explained in a package regarding the protection of users and what they can do and not do, then usually, both FSF and OSI recommendation is to avoid it.


If the proposed dependency is available with a compliant license, a last check is done to be sure that there is no additional clause that would introduce a restriction of use.

If the legal compliance is confirmed, it will be possible to go the next step: the technical review.


## Read more

{{% children %}}