Skip to content

Latest commit

 

History

History
108 lines (54 loc) · 7.21 KB

licensing-patron-faq.md

File metadata and controls

108 lines (54 loc) · 7.21 KB

Licensing/Patron FAQ

Fody requires significant effort to maintain. As such it relies on financial contributions to ensure its long term viability.

It is expected that all developers using Fody become a Patron on OpenCollective.

Honesty System / Enforcement

It is an honesty system with no code or legal enforcement. When raising an issue or a pull request, the GitHub Id may be checked to ensure they are a patron, and that issue/PR may be closed without further examination. This process will depend on the issue quality, and the impact on the larger user base. If a individual or organization has no interest in the long term sustainability of the project, then they are legally free to ignore the honesty system.

Why charge for open source?

So what OSS license are projects using?

Fody (all code, NuGets and binaries) are under the MIT License.

Why not use a modified MIT license?

Using any OSS license in a modified form causes significant problems with adoption of tools. There is no simplified guidance on using modified licenses. For example they are not included in choose a license or tldr legal. It often forces an organization to obtain approval from a legal department. It means any consuming tools need to ensure that the modified license does not propagate in an undesirable way.

But shouldn't OSS be completely free and supported by the community through their contributions?

Yes in theory this is true, however the long term reality has shown this not to be the case. The vast majority of consumers of open source projects do not contribute enough to ensure those project survive. This results in a small core team spending large amounts of their own free time maintaining projects.

Is support now included as part of the cost?

No. As per the MIT License:

the software is provided "as is", without warranty of any kind

For a supported product, instead consider PostSharp. PostSharp is a mature and supported product that is used by Fortune 500 companies as well as startups, and it doesn't require knowledge of IL.

They offer a free edition and their feature list includes: Aspect-Oriented Programming, Logging, INotifyPropertyChanged, Caching, Transactions, Security, Multithreading, Code Contracts, XAML plumbing, and Architecture Validation.

But it is MIT, can't I use it for free?

All projects are under MIT so the community backing honesty system can be ignored. So legally it is free, morally it is paid.

Do I need to be a Patron to contribute a Pull Request?

Yes. Users must be a Patron to be a user of Fody. Contributing Pull Requests does not cancel this out. It may seem unfair to expect people both contribute PRs and also financially back this project. However it is important to remember the effort in reviewing and merging a PR is often similar to that of creating the PR. Also the project maintainers are committing to support that added code (feature or bug fix) for the life of the project. Pull Requests from non-Patrons, that are of significant value to the larger Fody user base, may justify the effort in reviewing and merging.

Do I need to be a Patron to raise an issue?

Yes. Users must be a Patron to be a user of Fody. As such when raising an issue (question, bug or feature request) and not a Patron, the issue may not be actively triaged, and eventually closed as stale. Issues from non-Patrons, that are bugs and are highly likely to effect the larger Fody user base, may justify the effort and be handled.

Organization licensing

How to handle multiple developers

There are two options for an organization.

  1. Apply a multiplier to the Patron cost. The Patron tier has no upper bound on the monthly amount. This allows an organization with multiple developers to pay a single monthly price. For example: An organization with 5 developers would pay $15 per month, i.e. 5 x $3 per patron. An organization with 10 developers would pay $30 per month, i.e. 10 x $3 per patron and so on.
  2. Create an Open Collective organization A organization can Create an Open Collective organization and then allow their developers to draw on the funds from that organization. See FAQ for backers. This is the recommended option as it also opens up the opportunity for developers to select other projects to support.

Do all developers in a organization need to become Patrons?

No. Only those coding against projects that directly, or indirectly, consume the Fody NuGet package.

Can only one developer of an organization become a patron?

Yes, since the only point of (optional) enforcement is when an issue or PR is raised, then legally an organization can ignore the honesty system and route all issues and PRs though a single GitHub user account. However if a single GitHub user account is drawing on significant time to support, they may be requested to purchase some hourly support.

What about open source projects consume or producing Fody weavers?

It is be expected that the core team of maintainers of any open source projects that consume or produce Fody weavers would become Patrons. Non core contributors do not need to become Patrons. For example, in the context of GitHub, this would be any people with push access to the the repository. The reasoning is that if a project is utilizing Fody, that should not be a blocker for the larger community from contributing to the project.

Can I fork, re-use code, or start competing (possibly commercial) projects?

Yes.

What happens if I produce a library using Fody?

Consumers of that produced library do not need to become Patrons.