Licensing your Project

Licensing your Project

Licensing your Project

An over of Licenses, what they are, and some of the popular types of licenses that can be used for fxhash projects.

What is a license?

A license allows someone else to use, modify, or share software or creative works, under certain conditions set by the owner. It outlines how the work can be used, distributed, modified, and under what conditions. Licenses are crucial for defining terms of use and interaction with intellectual property. Essentially, a license specifies:

  1. Permissions and Restrictions: A license details what you can and can’t do with the work, like using, changing, or sharing it.
  2. Attribution: Many licenses require that the original author or copyright holder be given credit for their work. This is often referred to as attribution.
  3. Distribution: Some licenses set rules for how you can share the work with others.This may include whether the source code must be made available, whether modifications can be distributed, and if there are any restrictions on distribution methods.
  4. Derivative Works: Licenses can state if you’re allowed to make and share new creations based on the original work. Some licenses, like the GPL (GNU General Public License), require that derivative works also be released under the same license.
  5. Commercial Use: Licenses may say whether you can use the work for profit or only for non-commercial purposes.

In this sense licensing your fxhash projects is incredibly important, since they are essentially pieces of software, and at the same time publicly visible and accessible once uploaded to IPFS or minted on ONCHFS. A clear license informs others how they can use your code and the project's outputs, and legally protects you against misuse of your work.

Types of Creative Commons Licenses

Creative Commons (CC) licenses allow creators to share some rights with the public while retaining others. These licenses provide a flexible range of permissions for authors, artists, and other creators. Here's a quick list of some of the most popular CC licenses that have different degrees of restrictions on reuse of your project:

  1. CC BY (Attribution):
    • Allows others to copy, distribute, display, and perform the work and derivative works based upon it, but only if they give the author or licensor the credits in the manner specified by these.
    • This is the most permissive CC license in terms of what others can do with the works.
  2. CC BY-SA (Attribution-ShareAlike):
    • Allows others to remix, tweak, and build upon the work even for commercial purposes, as long as they credit the author and license their new creations under the identical terms.
    • This license is often compared to open source software licenses.
  3. CC BY-NC (Attribution-NonCommercial):
    • Allows others to remix, tweak, and build upon the work non-commercially, and although their new works must also acknowledge the author and be non-commercial, they don't have to license their derivative works on the same terms.
  4. CC BY-ND (Attribution-NoDerivs):
    • Allows others to download the works and share them with others as long as they credit the author, but they can't change them in any way or use them commercially.
  5. CC BY-NC-SA (Attribution-NonCommercial-ShareAlike):
    • Allows others to remix, tweak, and build upon the work non-commercially, as long as they credit the author and license their new creations under the identical terms.
  6. CC BY-NC-ND (Attribution-NonCommercial-NoDerivs):
    • The most restrictive of the six main licenses, only allowing others to download the works and share them with others as long as they credit the author, but they can't change them in any way or use them commercially.
  7. CC0 (Public Domain Dedication):
    • Allows creators to waive all their copyright and related rights, effectively placing their work in the public domain.
    • The most permissive option, as it allows for the broadest use without any restrictions.

It's important to choose the Creative Commons license that aligns with how you want others to use your work. The licenses are designed to be easy to understand and use, promoting a balance between sharing and protecting the rights of the original creator.

You can find these creative commons licenses here https://creativecommons.org/licenses/list.en

The page also provides a useful license chooser tool that helps you determine which license could be a good fit by answering a set of questions.

Other Permissible Licenses

CC licenses are generally used for a wide range of creative works, including images, music, literature, and other artistic expressions. Whereas CC licenses are more flexible and adaptable to different types of content and creative endeavours, there are other popular permissible licenses that are frequently used for software:

  • GNU General Public License (GPL): GPL is a widely used open-source license that allows users to use, modify, and distribute the software freely. Any derivative work must also be distributed under the GPL.
  • MIT License: The MIT License is a permissive open-source license that allows users to do anything they want with the software as long as they provide proper attribution and don't hold the developers liable.
  • Apache License: The Apache License is a permissive open-source license that allows users to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions under the terms of the license.
  • BSD Licenses (Berkeley Software Distribution): BSD licenses are a family of permissive free software licenses that allow users to do anything they want with the software, as long as they include the original copyright and license notice in any copy or substantial portion of the software.

About Modifying Licenses

icon
Should you modify standard licenses? In general, it is not recommended to modify existing licenses on your own, especially when dealing with standard licenses like Creative Commons licenses or open-source software licenses. These licenses are legally crafted documents that have been carefully designed to balance the interests of creators and users, and modifying them can lead to legal uncertainties.

If you need specific terms that are not covered by existing licenses, it's usually better to choose a license that aligns closely with your intentions and then supplement it with additional terms or permissions outside of the license itself. You can include a separate document or agreement that outlines any additional conditions or permissions.

For critical modifications or if your needs are not met by existing licenses, you may want to seek legal advice to draft a custom license or to explore alternative licensing options. Creating a new license or modifying an existing one requires a deep understanding of intellectual property law to ensure that the resulting license is legally enforceable and achieves your desired goals.

Overall, these are just some considerations, depending on your needs, requirements and restrictions that you would like to impose, and depending on what libraries you include in your project you might need to use a different license.