lyskouski / app-finance

Fingrom -- open-source platform-agnostic financial accounting application
https://tercad.com/app/finance/index.html
Other
52 stars 11 forks source link

[CR] Code is not Open Source #432

Closed clragon closed 11 months ago

clragon commented 11 months ago

Is your feature request related to a problem? Please describe. The about section of this project on GitHub states as follows:

Fingrom -- open-source platform-agnostic financial accounting application

The Readme states as follows:

Fingrom -- open-source cross-platform financial accounting application without Ads and limitations.

Additionally, the GitHub Repository is tagged as:

open-source

Taking a quick look at the Wikipedia definition for the Term Open Source we can see the following:

Open source is source code that is made freely available for possible modification and redistribution.

Looking into the LICENSE file we can see that the project is under:

CC BY-NC-ND 4.0

Inspecting the CreativeCommons for CC BY-NC-ND 4.0 we can see:

NonCommercial — You may not use the material for commercial purposes .

NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.

Given these restrictions, this Software is therefore not under an Open Source License and by that means not an Open Source project.

Describe the solution you'd like I can see two possible ways to resolve this:

Describe alternatives you've considered There are no alternatives to this issue.

Additional context Additionally, CreativeCommons does not recommend using CC Licenses for Software, as seen in their FAQ.

lyskouski commented 11 months ago

Dear @clragon, Do appreciate your message. Let me explain in details the taken CC BY-NC-ND 4.0 license for the project.

  1. Wikipedia is a point of opinions, it's not the same to the point of truth. As an example, they misprint the name of my country (Belarus) and their citizens (Belarussians) -- used Belorussia and Belorussians instead. So, let me forward you to a definition in the Oxford Dictionary: used to describe software for which the original [source code](https://www.oxfordlearnersdictionaries.com/definition/english/source-code) is made available to anyone https://www.oxfordlearnersdictionaries.com/definition/english/open-source. Or, from Oxford Languages: open-source -- denoting software for which the original source code is made freely available and may be redistributed and modified.

open-source =/= free open-source =/= custom distribution

Creative Commons is the nonprofit behind the open licenses and other legal tools that allow creators to share their work.

I've used CC BY-NC-ND 4.0 as the most appropriate to my purpose (not recommended is not equal to forbidden):

  1. That repository is a combination of the Fingrom app sources and relevant to that code book -- "From Zero to Market with Flutter" https://www.amazon.com/dp/B0CLLKNXQR. They affect each other and use the single repository.

To sum up, CC BY-NC-ND 4.0: freely available, freely distributable, subject to change (with restriction on a public distribution of the modified solution), no commercial solution can be created on top of it.

Kind regards, Viachaslau

P.S. You may propose alternatives if you're aware of them with a forbidden commercial (by others) use and a distribution of uncontrolled modifications.

clragon commented 11 months ago

Hi @lyskouski,

Thank you for your reply.

Wikipedia is a point of opinions, it's not the same to the point of truth. As an example, they misprint the name of my country (Belarus) and their citizens (Belarussians) -- used Belorussia and Belorussians instead

I cannot seem to verify this. The english wikipedia article uses Belarus and as far as I can tell, always has been, looking at the edit history. Wikipedia is a commonly and widely accepted source for trustable information. Since it is run by volunteers, it is of course always possible that some things are not correct. Thats why everyone can contribute!

I do believe the Article on Wikipedia describing Open Source to be correct. We can check where Wikipedia got this information from, and we can arrive on the page of the Open Source Initiative, where they explain the following:

Introduction Open source doesn’t just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:

[...]

  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 Open Source Initiative has been formed in 1998 and has helped define this term. On their page "definition annotated", they also provide reasons for their clear definitions:

  1. Rationale: The mere ability to read source isn’t enough to support independent peer review and rapid evolutionary selection. For rapid evolution to happen, people need to be able to experiment with and redistribute modifications.

I have omitted the other sections for brevity and because they are less relevant to your argument, but they are still worthwhile reading.

This also matches with the definition you provided from Oxford Languages*:

denoting software for which the original source code is made freely available and may be redistributed and modified

* I cannot track down this Website and you did not provide a URL, but I trust you that this Quote is correct.

The definition does not match with the Oxford's Learner Dictionary, but it seems rather by omission than by disagreement. I am of the opinion that the entry there is simply poorly crafted, given that all other sources elaborate on this.

not recommended is not equal to forbidden

You are entirely right. I thought I would point it out to you, in case you were not aware of this.

Your definition of the CC BY-NC-ND 4.0 License:

  • open source code
  • free to distribute
  • free to change with a distribution after the merge into the original repository
  • forbidden a commercial product on top of mine
  • forbidden uncontrolled distribution of changes (across all marketplaces it was used my full name)

I can only partially agree with this.

  • free to distribute

This means redistributing the binary you as the License owner have distributed is allowed. This makes the program "free" as in "free of monetary cost"

  • free to change with a distribution after the merge into the original repository

This statement is somewhat misleading. Users are not free to distrbute modified versions, only your version. "after a merge into the original repository" therefore just means if a user hands their code over into your control, it can be distributed by you as the licensed version.

  • forbidden uncontrolled distribution of changes

Correct, users are not able to create a modified version of your code and redistribute it.

With these definitions, the first point:

  • open source code

is no longer true, as the restrictions layed out above directly conflict with the definition of the term Open Source as I have specified earlier.

Specifically:

The Open Source Definition

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.

This directly clashes with

CC BY-NC-ND 4.0

NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.

Because of this clash I am still of the opinion that your use of the term "open source" for your repository is at the current moment incorrect and misleading and should be changed or actualized.

P.S. You may propose alternatives if you're aware of them with a forbidden commercial (by others) use and a distribution of uncontrolled modifications.

An Open Source License can by definition not forbid the commercialisation of your software through others. If this is the licensing model that you wish for, please remove the term "open source" from the description of this repository.

Using the term "open source" in this manner may both confuse and mislead visitors of this page. They may mistakenly assume that your software is free to modify and redistribute.

lyskouski commented 11 months ago

Hello @clragon ,

Wikipedia is supposed to be trustable information. It's their goal declaration, but there were to many situations of compromising that fact (as https://www.npr.org/2015/03/12/392568604/dont-you-dare-use-comprised-of-on-wikipedia-one-editor-will-take-it-out). Country naming is relevant to the Russian version.

"The Open Source Initiative" =/= open-source.

This makes the program "free" as in "free of monetary cost"

It's a wrong assumption. Moreover, the application contains supportive page ("Sponsorship") with payable options.

Users are not free to distribute modified versions, only your version.

It's how it's supposed to be, right. But you can compile the app from sources and distribute (as it's been done for Arch Linux)

Once again, the term itself is a combination of "open" (freely accessible) and "source" (initial code before the compilation phase). I do not see any conflicts of interests... pin me.

clragon commented 11 months ago

Hi @lyskouski

It's a wrong assumption.

I cant follow. The license states: "free to distribute", meaning, I can share your binary with anyone, without restrictions. This means, the binary is "free as in no monetary cost". Whether the application contains purchases inside of it or not, does not change this circumstance.

"The Open Source Initiative" =/= open-source.

They provide the widely community accepted definition for that term.

Using it appropriately is beneficial for everyone, except if someone wishes to mislead to gain the commonly associated good will for projects with the "open source" label. This good will arrises because they provide benefits for everyone involved, unlike projects under non-open-source Licenses, which do not provide all these benefits mentioned in the Open Source Initiative definition.

The definition for "Open Source" by GitHub, the platform on which this this project is hosted is as follows:

Open source software (OSS) refers to software that features freely available source code, which users may view, modify, adopt, and share for both commercial and noncommercial purposes.

This definition again aligns with the Open Source Initiative's definition of what "open source" means.

As it does not appear that you wish to adhere to this definition, I believe it would therefore be good not to use this term to describe your project, as it, again, may mislead onlookers.

lyskouski commented 11 months ago

Hello @clragon

I cant follow....

This makes the program "free" as in "free of monetary cost"

Open-source can be a payable one. As example, "Red Hat Enterprise", you have to pay for the support.

This good will arrise because they provide benefits for everyone involved, unlike projects under non-open-source Licenses, which do not provide all these benefits mentioned in the Open Source Initiative definition.

CC is a group of open licenses.

Open source software (OSS) refers to software that features freely available source code, which users may view, modify, adopt, and share for both commercial and noncommercial purposes.

Sources are freely available. Users may view, modify, adopt and share for both commercial and noncommercial purposes. What they cannot do is to distribute their changes to marketplaces, or create a commercial solution on top.

Do not see any contradictions with what you're trying to express.

clragon commented 11 months ago

Hi @lyskouski

Open-source can be a payable one. As example, "Red Hat Enterprise", you have to pay for the support.

I am aware of this and thats correct. But your project is not paid. Its License says so. That is all I was trying to establish with that sentence. It has no further relevance to this discussion.

CC is a group of open licenses.

I am aware of this and that is also correct. However, it does not refute my point in any way.

Do not see any contradictions with what you're trying to express.

Your statement is not logically sound:

Users may [...] modify, [...] and share for [...] commercial [...] purposes. [...] they cannot [...] create a commercial solution [...].

Either Users can modify and share for commercial purposes or they cannot.

But the CC BY-NC-ND 4.0 License doesnt allow modifying and sharing regardless of whether that is commercial or non-commercial as stated clearly:

NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.

Meaning a User may modify privately, but never share.

It also additionally forbids using the product in commercial ways:

NonCommercial — You may not use the material for commercial purposes .

Meaning a User may not sell your finished binary.

Users may view, modify, adopt and share for both commercial and noncommercial purposes.

This is therefore also not correct, under your License.

Your project is what is called "source available", but it is not "open source" by the definitions laid out. We can find more information on this distinction in this blog post.

If you wish to have a license that simply forbids competition in forms of commercial usage, such licenses exit. However, your current license is not like that. It forbids any modification and redistribution. Additionally, neither your current license nor a license which forbids commercial competition are Open Source by the definitions commonly accepted in the community.

lyskouski commented 11 months ago

Hello @clragon,

I am aware of this and thats correct. But your project is not paid. Its License says so.

It's a wrong assumption. Might propose to check repos with CC license (especially books, as https://github.com/getify/You-Dont-Know-JS).

Either Users can modify and share for commercial purposes or they cannot.

They cannot share a derived work (forked / cloned with made changes).

Meaning a User may modify privately, but never share.

Yes, directly as it's supposed to be.

I'm still not taking your disagreement in the argument that CC is a scope of open licenses. You may fork, change... but you cannot sell and/or distribute it by your own. And it's still "open-source" by its original definition.

I don't care how the community interpret open-source in their areas. And I'm totally fine with a tild "Proprietary". "Source available" has nothing in common with enabled opportunity to contribute into the project.

lyskouski commented 11 months ago

P.S. Simply saying I do understand the purpose of a conceptual substitution for "open-source" by companies as Google and others. And I do not agree with that. It's an open source in its original meaning. I'm not welcoming to contribute for free -- it's a digital slavery... just check my initial statement. I'm sharing sources for the trust and reliability. And, it's open-source by the definition from the dictionary. Even GitHub differentiate open-source project by their publicity.

miyoyo commented 11 months ago

it's open-source by the definition from the dictionary.

Huh, interesting, looks like "The Dictionary" doesn't agree:

Merriam-Webster: https://www.merriam-webster.com/dictionary/open-source

having the source code freely available for possible modification and redistribution

Cambridge: https://dictionary.cambridge.org/dictionary/english/open-source

Open source software or information can be obtained legally and for free from the internet, and can be used, shared or changed without paying or asking for special permission

Dictionary.com: https://www.dictionary.com/browse/open-source

Computers. pertaining to or denoting software whose source code is available free of charge to the public to use, copy, modify, sublicense, or distribute.

Encyclopaedia Britannica: https://www.britannica.com/topic/open-source

Open-source projects reject this practice and publish all their source code on the Internet under licenses that allow free redistribution

Let's go broader, maybe big companies?

Google: https://opensource.google/about and https://blog.google/inside-google/googlers/ask-techspert-what-open-source/

A piece of software is considered open source if its source code is made publicly available to anyone, meaning they can freely copy, modify and redistribute the code.

Amazon: https://aws.amazon.com/what-is/open-source/

No restrictions on selling or giving away the software as a component of aggregate software distribution Must include and allow distribution of the source code Must allow modifications and derived works Rights attached to the program must apply to all without discrimination

IBM: https://www.ibm.com/topics/open-source

Open source software is software develped and maintained via open collaboration, and made available, typically at no cost, for anyone to use, examine, alter and redistribute however they like.

Microsoft: https://opensource.microsoft.com/program/#program-overview

OpenChain 2.1 conformance (Which is defined by the linux foundation)

The Linux Foundation: https://www.linuxfoundation.org/blog/blog/what-is-open-source-software

Open Source Software (OSS) is software distributed under a license that meets certain criteria:

  1. It is available in source code form (without charge or at cost)
  2. Open Source may be modified and redistributed without additional permission
  3. Finally, other criteria may apply to its use and redistribution.

Red Hat: https://www.redhat.com/en/topics/open-source/what-is-open-source-software

It is available in source code form without additional cost, meaning users can view the code that comprises the software and make any kind of changes to it they want. The source code can be repurposed into other new software, meaning anyone can take the source code and distribute their own program from it.

How about world governments? US: https://www.commerce.gov/about/policies/source-code

Software that can be accessed, used, modified, and shared by anyone.

EU: https://commission.europa.eu/content/european-union-public-licence_en

The EUPL v 1.1 is OSI certified as from March 2009.

So the EU agrees that OSI is a canonical definition, as they sought their expertise to certify themselves

OSI: https://opensource.org/licenses/

they allow software to be freely used, modified, and shared.

How about the website of the very license you're using? CC: https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software

We recommend considering licenses listed as free by the Free Software Foundation and listed as “open source” by the Open Source Initiative. [...] Unlike software-specific licenses, CC licenses do not contain specific terms about the distribution of source code, which is often important to ensuring the free reuse and modifiability of software. Explicitly specifying that most CC variations are NOT open source as it doesn't cover source distribution.

Effectively, all of them agree that open source software can, at the very least, be Modified AND Shared.

This project is neither open source, nor is it following the definition of "the dictionary", you just picked one definition from one dictionary that fits you, ignoring the widely agreed upon definition that's both used by world governments, the people who actively deal with it, the writers of the very license you're using and the very website you're hosting your code on.

miyoyo commented 11 months ago

As addenda: It's fine if you make source-available proprietary software. Just don't label it what it isn't.

lyskouski commented 11 months ago

Dear @miyoyo

As addenda: It's fine if you make source-available proprietary software. Just don't label it what it isn't.

Any valuable reasons behind your statement?

miyoyo commented 11 months ago

Which part? That it isn't Open Source? See the comment above the addenda.

lyskouski commented 11 months ago

While you're not reading what I'm trying to say, let me stop that meaningless discussion. I don't see what usefulness this endless discussion can bring to the table, and still insist on the definition of my project.