RealRaven2000 / SmartTemplates

Thunderbird Add-on: SmartTemplates
http://smarttemplates.quickfolders.org/
Other
25 stars 15 forks source link

SmartTemplates describes itself as "open source" but does not meet the open source definition. #250

Open Destroyinator69420 opened 12 months ago

Destroyinator69420 commented 12 months ago
  1. Free Redistribution

The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

  1. Source Code

The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost, preferably downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.

  1. Derived Works

The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

** The smarttemplates license does not allow redistributing modified source code. This is a direction violation of part 3 of the open source definition. Either change the license to an actual open source license or stop promoting smarttemplates as open source when it is clearly source availble proprietary software.

  1. Integrity of The Author’s Source Code

The license may restrict source-code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.

** The license is unclear whether or not it is allowed to distribute the original smarttemplates source code with patch files to modify it at compile time.

  1. No Discrimination Against Persons or Groups

The license must not discriminate against any person or group of persons.

  1. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

  1. Distribution of License

The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.

  1. License Must Not Be Specific to a Product

The rights attached to the program must not depend on the program’s being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program’s license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.

** Since modifying the source code of smarttemplates is not allowed, and smarttemplates is designed to work as an extension of Mozilla Thunderbird and not as an extension to any other software, the smarttemplates software is only works with mozilla thunderbird since modifying it, for example as a gmail extension or as a general purpose browser extension, it by default violates part 8 of the open source definition.

  1. License Must Not Restrict Other Software

The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.

  1. License Must Be Technology-Neutral

** Since modifying the source code of smarttemplates is not allowed, it is not technology neutral since it is only designed to work on mozilla thunderbird.

No provision of the license may be predicated on any individual technology or style of interface.

Conclusion: Smarttemplates is not open source, but is rather proprietary source available software. Either relicense under an actual open source license or stop falsely advertising it as open source. I understand your need to make money off smarttemplates and I am not against that, but the source code being merely available for public viewing does not make it open source. There are open source licenses that are incredibly unfriendly to commercialization. One of them is the GNU Affero GPL v3 or later. The network use is distribution clause makes service as a software substitute businesses very wary of using GNU affero GPL v3 or later software. Google wont even let GNU Affero GPL software be used in any of there source code in any way because they want to keep their software stack proprietary. Section 3 of the GNU Affero GPL makes it impossible to legally enforce "effective technological measures" on GPL software. This makes sure that businesses who depend on neofeudalism as a business model cannot use the software. The GNU AGPL also makes sure that when the software is included in a product, installation instructions must be made available to modify the software as well. However you can still make money off smarttemplates with the GNU Affero GPL v3 or later by selling license exceptions, even RMS endorses the practice. It is your choice, but the promotion of smarttemplates as open souce while violating the 3 sections of the open source defintion is clearly false advertising and fraud.

RealRaven2000 commented 12 months ago

Conclusion: Smarttemplates is not open source, but is rather proprietary source available software. Either relicense under an actual open source license or stop falsely advertising it as open source. I understand your need to make money off smarttemplates and I am not against that, but the source code being merely available for public viewing does not make it open source. There are open source licenses that are incredibly unfriendly to commercialization.

So maybe my choice of license ND4.0 isn't the best one, what I am trying to dois simply this:

1 - you can use all the source code to build your own products 2 - you can modify the source to your own needs to make something similar that works for you

what I don;t want:

somebody takes all the source code and releases "SmartTemplates light" or "SmartTemplates Free" on the back of my work. If the chosen license is not the correct one please enlighten me on how I can achieve this. And this is simply possible under a license like GNU3. I do not want to work for another company and do Add-on development on the side, I have been there and had serious mental problems and was very unhappy for years.

I am not a lawyer, I work on development of my Add-ons fulltime, and I spend 1-3 hours on unpaid support every day. I also review other people's Add-ons for no payment and help them design their own Add-ons (for no payment).

I am on the weekly Add-on developers call where we already discussed

Now in detail:

  1. Derived Works

    The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

"under the same terms" - so I am currently releasing ST as "freemium" model. Would the above work at all? My nightmare scenario is this: the developer removes the licensing code and changes nothing else, giving full access to all features to all users. That would basically mean I can pack in because I won't be paid for my work anymore. The problem with the term "derived works" is of course that it's a deep concept, for instance, you could just take maybe 150 lines of code and make a small Add-on that does just a part of the work that Smart Templates does, or maybe something completely different. What I mean by "derived work" is a software that renders my Add-on unnecessary. Of course I have thought about porting my Add-ons to Outlook to open up new markets but I simply haven't got the bandwidth for this. The patterns of my Add-ons are not patented or protected in any way, so doing some sort of restriction in the software license seems prudent.

Please elaborate.

  1. Integrity of The Author’s Source Code

The license may restrict source-code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.

This sentence "explicitly permit distribution of software built from modified source code" is what's unclear to me. Of course you can build anything you like from the source code, using the algorithms and ideas in the software - I actually encourage anyone to use the source code as they fit in their own projects - with one caveat: Or you can just come up with a completely new name "SuperTemplate" and release 98% of the software (minus the licensing part) on ATN for free (as in beer). Please tell me whether to the spirit of open source there is a difference between those 2 positions based on that sentence.

I have been working past midnight for the last week to get another of my Add-ons compatible, doing 13 hour shifts to fix the problems that Tb115 introduced. At the same time I push back as much as possible to the restrictions that are introduced to Add-on authors to make adding functionality for our users harder. I really don't have much time to get into legal arguments, but if you know a better way to describe my license (or maybe a prefactored license) I am open to suggestions.

But I do not want to close source my Add-ons I want everybody to be able to read the source code, write patches if they like or use the code in their own projects. But since I am not a lawyer or Richard Stallman and Patreon / donation fundage is an abysmal failure I really have no idea how to go about it. But I am only working on these projects for 14 years, maybe you have better ideas.

RealRaven2000 commented 12 months ago

questions

what would you like me to do? And what would your next action be?

do you have any concrete projects you are working on that need code from the SmartTemplates repo? Maybe i can help you with this.

You used the phrase “Since modifying the source code of smarttemplates is not allowed” a few times, i dont recall putting this in my license?

The way i see this repository:

Destroyinator69420 commented 11 months ago

Am I corrent when I think that the license of this repository is the Creative Commons Attribution No Derivitaves 4.0. It states in the license file: """ All contents of The Program are subject to the Creative Commons License (CC BY-ND 4.0) (the "License"); you may not use the file except in compliance with the License. You may obtain a copy of the complete License at http://creativecommons.org/licenses/by-nd/4.0/legalcode For a human-readable summary thereof please refer http://creativecommons.org/licenses/by-nd/4.0/ """ It states on the creative commons website for this license "NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material."

One example of a method to make money off free software is to solicit donations and to give the donors a say in how the project is developed. Take a look at how the Vim text editor manages this.

""" Registered Vim user You can become a registered Vim user by sending at least 10 euro. This works similar to sponsoring Vim (see above). Registration was made possible for the situation where your boss or bookkeeper may be willing to register software, but does not like the terms "sponsoring" and "donation". Voting for features To give registered Vim users and sponsors an advantage over lurkers, they can vote for the items Bram should work on. How does this voting work?

You send at least 10 euro. See [below](https://www.vim.org/sponsor/index.php#methods) for ways to transfer money.
You will be e-mailed a registration key. Enter this key on your [account page](https://www.vim.org/account/index.php). You can easily create an account if you don't have one yet.
You can enter your votes on the [voting page](https://www.vim.org/sponsor/vote.php). You can only access this page after entering a registration key. Your votes will be counted for two years.
The voting [results](https://www.vim.org/sponsor/vote_results.php) appear on the results page, which is visible for everybody.

Additionally, once you have sent 100 euro or more in total, your name appears in the Vim hall of honour. But only if you enable this on your account page. """ Vim users can pay 10 euros to register Vim, after that they get an account and can vote for features on a page where only registered Vim users can vote. The second way Vim makes money is by rewarding large donors with their name on the website. In the case of smarttemplates this can be replicated by rewarding large donors with their name on the credits screen in the extension, with instructions on how the people reading it can get their name in there too. It would also help pay for smarttemplates to allow businesses to sponsor development in exchange for their logo on the credits screen. This works because businesses like to put their logo everywhere and be seen making an impact. Another possible method you can use in leu of a nonfree license would be to sell support for smarttemplates. For some free software projects, especially those under extreme copyleft licenses such as the GNU Affero GPL v3 or later, selling commercial licenses is very profitible. Some of these firms let you choose between an extreme copyleft license and a proprietary license, but a more measured approach is to sell license exceptions to certian businesses that can be trusted. License exceptions may also come with stipulations, such as you may keep your original code private, but you will refrain from using smarttemplates to build spam operations and implementing dirty psycological tricks to decieve users. The advantage of this is that royality payments can be negotiated on a case by case basis, and you can refuse if you think that a business may have alterior motives other than to build a product.

RealRaven2000 commented 11 months ago

I see. You didn't answer any of my questions, but I see that you don’t like my way of monetization.

Smarttemplates would not exist anymore today as it was necessary to fund its rewrite since version Thunderbird 78. For all my Addons There were fundamental changes necessary that could not have been financed via donations. With a user base of now 6500 active users, voluntary donations could not finance ethat work. In that year I hired another developer and invested 3000€ of my own money so that my Addons could survive. This was only possible because i had decided to finance the, via the freemium model: allowing access to basic features for free and unlocking advanced features via a Pro license. I always tried to make this as cheap as possible and later introduced the standard license as another way of regularly funding the project.

If my Addons were base on donations still they would not exit anymore, like my other complex addons that went away when Mozilka decided to deprecate legacy Addons. This year we had very fundamental changes in Thunderbird again that required many weeks of development and testing - see #213 for a partial documentation. These could not have been funded via donations with a small user group like ST.

While it is true that some software can survive on donations alone, this is only possible if you have a large user base.Thunderbird as an example has a budget of several million dollars from their 20 million users. I have not found absolute figures about vim but i did find a number that it is used in > 1500 Companies. I bet it it used by millions of users too. To compare a niche addon like SmartTemplates with this product is not grounded in reality.

Switching to donations means walking away and letting the software die. This would not be in my users’ interest.

RealRaven2000 commented 11 months ago

License exceptions may also come with stipulations, such as you may keep your original code private, but you will refrain from using smarttemplates to build spam operations and implementing dirty psycological tricks to decieve users.

I reject these misguided notions. I am as open as possible with the complete development and funding model of SmartTemplates. The users have a lot of power in shaping new features and making suggestions on what could be improved. I am not interested in creating Spam or deceiving my users. None of their data gets harvested and the only time i contact a user is if their license runs out. If you had a SmartTemplates user license before you should know this, but you may prefer software that is given away for free (you pay by sharing your data). Personally i prefer paid software and not being farmed for information.

edit : after reading your previous comment again (it is a wall of text so maybe use paragraphs or quotation marks for clarification) i see you didn’t accuse me but just suggested this as a possible wording for a license agreement. That is a helpful suggestion, so thanks for that.

Your main point of contention is that you do not control the way Smarttemplates is funded yet you haven’t answered what you want to do with the Software, and what parts of my license prevent you from doing it? Ifnyou simply want access to the pro features without payment, you could either modify the code yourself and disable updates, or contact me directly asking for a free (as in beer) license.

RealRaven2000 commented 11 months ago

** Since modifying the source code of smarttemplates is not allowed, and smarttemplates is designed to work as an extension of Mozilla Thunderbird and not as an extension to any other software, the smarttemplates software is only works with mozilla thunderbird since modifying it, for example as a gmail extension or as a general purpose browser extension...

is that what you want to do? Go ahead i have no Problem with that, because it doesn’t affect my user base. If there is a way to communicate this better in my license terms I am open to suggestions. Just dont submit my own software on the thunderbird platform in order to compete with me and shut down my development work; that is my main reason for picking the cc 4.0 ND license.

RealRaven2000 commented 11 months ago

Please note that i made an edit to the previous to last comment, about the license stipulations on Spam etc. in case you only read github comments via email. You may not see that i corrected my reply.

RealRaven2000 commented 11 months ago

Please stand by - I am currently doing more research on the topic on the Add-on developers chat on Matrix. There may yet be a better license that fits my projects. Some other comments incoming, hopefully.

arndissler commented 11 months ago

Disclaimer and first of all, I am not a lawyer.

While there are multiple definitions out there what Open Source is and what not, I agree with @Destroyinator69420 that while the source code is open readable and accessible by everyone, the extension isn't "Open Source", as you're not allowed to redistribute it in any way without violating the addendums to the current license.

Personally I would recommend to check if a re-licensing is a valid option. Good fits seems to be the Fair Source License or the Business Source License. While the former have a built-in limit for fair usage, the latter has the benefits to fall back to an Open Source license after a given period of time but latest four (4) years after release.

Re-licensing isn't an easy process, so maybe it's required to check back with the contributors of the project, so they can grant permission.

RealRaven2000 commented 11 months ago

Thanks for the suggestions to @arndissler - opening a new issue #251 to track the progress on this. Many thanks to all who contributed, feel free to comment over there. We can keep here open for the more contentious / speculative discussion about other platforms and possible motivations of the respective stakeholders.