> You may use [...] the software only for non-commercial purposes
> You may distribute the software or provide it to others only if you do so free of charge
> you may not remove or obscure any functionality in the software related to payment to the Licensor
----
Also, the button that says "Download from F-Droid" is super misleading. It's actually downloading it from a third-party repo that happens to be compatible with the F-Droid app, but it sure makes it sound like you're going to download it from F-Droid's repo.
I think you are being incredibly harsh about the licensing structure, they are simply trying to make sure companies with keyboard apps like Google don't steal their work out from under them by adding in a non-commercial clause. Lots of companies have this Elastic Search License, Business Source License, etc. There are numerous companies who have used permissive licenses only to be horribly burned by companies stealing their work out from underneathe them and they have subsequently used non-OSI approved licenses.
Why is it such a bad thing for developers to license there work however they please in a way that fits with the goals and values of their individual project? Here the keyboard maintainer wants to use a license that isn't FOSS, why is this so concerning to you that they have opinions which differ from yours?
They can use whatever license they want, but that choice will affect who will or can use it. From the license:
> You may use or modify the software only for non-commercial purposes such as personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, all without any anticipated commercial application.
That means most people can't use this keyboard to write a work email or text message. That's a really restrictive license, and pretty unexpected for a keyboard, to limit what you're allowed to type. Pointing it out doesn't seem harsh.
I think they mean "use the software" as in using the actual source code of the software in some derivative work or as part of some other application, or downloading and redistributing it for a different purpose, and things like that, not using the end-product application. They could stand to be a lot clearer about that, but their whole goal is just to prevent mega-corporations from being able to freeload off their work to make money off their software, not to prevent random people from using their software in certain contexts that might be construed as "commercial" in some sense. They mean not using the software for commercial purposes in the sense of not selling the software, not simply not using it for business emails or something stupid like that.
The maintainer literally responded to someone else making a similar claim in this HN thread to say that this is now the meaning of that license clause. Someone else posted the Cornell Law legal dictionary definition of 'commercial purposes'. It is really annoying that people who write software suddenly think they are legal experts who can make these kinds of ridiculous claims anytime 'licenses' come up. Instead of making stuff up off the top of your head as though it was factual, please defer to experts in the field. On legal issues this is particularly annoying.
> The term “used for commercial purposes” means the carriage of persons or property for any fare, fee, rate, charge or other consideration, or directly or indirectly in connection with any business, or other undertaking intended for profit.
Wouldn't a copyleft FOSS license like the AGPLv3 keep companies like Google from stealing their work out from under them too?
> Why is it such a bad thing for developers to license there work however they please in a way that fits with the goals and values of their individual project? Here the keyboard maintainer wants to use a license that isn't FOSS, why is this so concerning to you that they have opinions which differ from yours?
AGPL simply means the source of any modifications must be made available. It doesn't stop a company with an overwhelming marketing dept and existing user base from rebranding and providing as their own.
They do, but it's mainly a precautionary measure for them IMO. Too easy to get some AGPL code caught up in some project and then due to its viral nature that entire project would be "tainted", costing them control.
I don't need to see the link, I am aware of what your stance roughly is. I'm saying:
Why are you so intolerant of the freedoms of other people to make their own choices about what license structures are best for them and their needs?
Developers should have the freedom to choose whatever license they please. Just because you have a pet category of license structure that you think everyone should use, why can't you be respectful of those who choose other options?
It is essentially you forcing your narrow definition of what you think licenses are and how they should be structured onto everyone else?
Why can't people simply say they understand the various licensing options but they choose one that isn't the one you like after a careful consideration? Are they simply not allowed to have a diffferent opinion than you?
If you make your argument and the maintainer still chooses another license, that is a failure on the part of the FSF to properly sell their mission or elaborate their arguments. Does the fact that someone chose something other than what you prefer mean that you now need to go around evangelizing every time that any non-FOSS license is used?
> > You may use [...] the software only for non-commercial purposes
> > You may distribute the software or provide it to others only if you do so free of charge
> > you may not remove or obscure any functionality in the software related to payment to the Licensor
This definitely isn't ideal (I'm a big GPL fan) but honestly, as long as it still allows copying, modification, and redistribution for non-commercial purposes (which it does) this doesn't concern me that much. I'm not too worried about the potential prospects of other businesses that might want to base their work off of this business's work as long as the community would still be able to create forks and derivative versions. It certainly isn't the ideal of free software that I prefer everything to adhere to, but it's acceptable to me at least. It's sort of as I say elsewhere, a CC-BY-SA-NC type deal.
I dunno, I think it's worth five bucks. We get too wrapped around the axle on licenses. I can do whatever I want with the source except rip off FUTO which sounds fine by me.
What are y'all planning to do with the source that the license prevents you from doing?
I mean, in my personal opinion, it's totally possible to use GPL licensing on software that you then build a business around. You just have to be a little bit more creative and offer more than just rent-seeking on past labor. Some examples of perfectly feasible ways to build a business around GPL or AGPL software without going bankrupt:
1. Providing all of the source and documentation and build tools needed to build something but only providing pre-built binaries or packages for the program if someone pays. That way they aren't really paying for the software but for the human labor that goes into packaging up the software and making it easy and the computer time and hosting storage that that takes up and all of that.
2. requiring people to pay a discounted amount to get the pre-built binaries or packages of New versions of your software, so that your ongoing revenue is tied to continually making improvements to your product that will actually make people want to move to the new improved version, instead of simply charging a recurring subscription, whether or not people actually like the improvements the subscription is making or actually want to upgrade and then forcing them to upgrade or charging a recurring fee to even maintain access to an old version of the software.
3. providing AGPL containerized versions of your server software, but charging a monthly subscription to access the version of that software that you host for your customers, since obviously servers have recurring fees associated with them, that most people wouldn't want to Self-host, simply because it's a lot of work, but those who do want to do that work still can.
4. Providing good customer support
5. Prioritizing working on bugs or features that a lot of people donate a small amount of money to, sort of like crowdfunding individual components of your application.
6. associating your software business with a hardware business, like System76 does
7. Just operating based on donations, but making it very quick and easy and convenient to donate, and the donation system available from somewhere within your software that's unobtrusive but easy to access like Mozilla Thunderbird does. (This is sort of what FUTO Keyboard seems to do).
8. Subsusting on donations but using an indie game style "pay what you can" interface like elementaryOS does.
In general, the trick is just to provide services that actually require ongoing money in compensation for ongoing labor and actually add value to just the bare source code.
I'm not sure if having a section asking for donations, tucked away in the settings, and a one-time reminder 30 days into an unlimited trial, that goes away permanently if you say you paid whether you did or not, is that much of an anti-feature? In fact, I would prefer more of my open source apps to have built-in ways to donate. I'll grant you not being able to remove it is something I'm not happy with, but since they allow any other kind of modification, I don't know how substantially that really limits software freedom in practice. Honestly, it's just up to personal discretion, and I'm going to have to sit and think about it for a bit — I might well end up going back to my GPL licensed keyboard, but I don't know.
Yeah, just be careful never to respond to your work emails whilst using this keyboard. "Sorry boss, I can't be bothered right now because my keyboard prohibits me from using it for commercial activity." That will fly well.
That's pretty clearly not what they mean, and I'm sure you know it. You pretty clearly mean using the software as in taking the code and repurposing it or modifying it, not using the software products itself.
No I did not, and I have no desire to play the guessing game when it comes to these things. There are lots of FOSS alternatives with no strings attached, or honest commercial projects which don't claim to be something they're not.
How does precedent about how commercial is interpeted here apply? If I use this to fire off a work email, is that commercial? Or does this only apply if I'm selling a product built around this?
I'm the person responsible for this project and this is absolutely not correct. The clause was not written to restrict this kind of use of the keyboard, and it would be ridiculous if we ever pursued anyone over this. You can type anything you want with our keyboard. You can type out a million-dollar app that competes with us. It's not like we would have any way of knowing, because the keyboard doesn't connect to the internet.
That clause is more intended for a situation where, for example, a phone manufacturer wants to include our app as a default option. That is the kind of commercial use we would prefer to negotiate and sign a special agreement for.
While it was not your intention for the license to be interpreted in that way, as written, reading the text, it does seem like the most obvious interpretation. There are also other source-available licenses where it is the intended interpretation: while niche, I'm reminded of the license on nupack.org. It seems like clarifying this in the license text would be a good idea.
You have discovered why licenses are hard! The text of this license conflicts with your intent.
Wrote this comment with FUTO and it's pretty nice; it's certainly the first one I'm considering using over Gboard (because frankly the feature set of many FOSS keyboards is quite bad). While not FOSS, FUTO is a nice step up in terms of philosophy and actual license from most proprietary keyboards, with the exception of the commercial use restriction which really made me think twice about it.
I trust you that it's not what you meant, and that you wouldn't sue over it, but not that any potential future copyright holder wouldn't (see, e.g., https://gavinhoward.com/2022/01/the-law-of-strict-licenses/). Could you make it less ambiguous by chasing the license to only restrict commercial distribution rather than commercial use?
How so? Given that the license says you can't "use" it for commercial purposes, as opposed to just that you can't modify or distribute it for commercial purposes, what else would that mean?
Apache 2 is a permissive (think "pushover") license that allows proprietary forks. If the original were GPL or another copyleft license, then this would indeed have been illegal.
Can you? The relevant bit from the license seems to be:
> You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
I'm not clear how to interpret that "as a whole" bit combined with "otherwise complies".
Essentially the most that is really required by permissive licenses (Apache, BSD, MIT and their ilk) is a preservation of the license text, if even that. Anything else beyond that is open to change. So anyone can take any project licensed as such, and relicense with something more or less business-friendly, regardless of whether all contributors agree or not. That's what it means to be permissive.
That's not my understanding at all. You can't just relicense BSD code. You can incorporate it and distribute it with your own code that's under another license, but you couldn't just clone the FreeBSD source tree, 'sed s/BSD/My Own License', and call it good.
Relicense as in add another license with whatever restrictions they desire, because literally anything aside from changing/removing the original license itself goes.
As long as you keep the previous license text somewhere and note what it applies to then I don't see the problem? FUTO does both in the NOTICE file:
>The license below applies only to the original AOSP keyboard code, which is
up to commit d847619a2b48945465f840b8d81644fa455cc115.
> Copyright (c) 2008, The Android Open Source Project
> Licensed under the Apache License, Version 2.0 (the "License");
> you may not use this file except in compliance with the License.
It doesn't harass you for money, what? The option to pay just lives in a section tucked away in the settings page, and the "yes I've already paid" button works on the honor system anyway.
Hi, I'm the person who wrote that code. We're not trying to harass people for money and it's been designed in a way I think is fair.
The unpaid reminder appears in the settings screen after the app is installed for 30 days, and once it appears there's a button that lets you postpone the reminder for up to infinity days. Of course nothing stops you from also just tapping "I already paid".
We don't validate license keys in FUTO Keyboard, we just have a payment system that issues them. The app can't connect to the internet, so it's not like there's an easy way to verify them anyway or stop people from just posting their key online.
Hi, I just want you to know that I'm blown away by your keyboard. I'm not even a native English speaker and it's incredible. After paying around with it for ten minutes I decided to pay the 5 dollars to show my support to this initiative.
I'm especially happy to see that you mdocumented how to use your own finetuned models and predictive text transformer. I'm betting it will end up enabling community driven multi-lingual dictionaries and transformers. Thanks a lot!
One feature request I have though is (although I understand the limitations of transformers) to seamlessly handle more than 30s of audio, even though it takes more time to transcribe it still is a huge pain to have to wait for the first to end writing to then speak again. It's not that difficult to queue audio segments right :)?
Also, the language choice picker from the keyboard shows the choices too high : on tall phones it's cumbersome to have to reach up there.
Also the beamsearch is "recommended" but it would be better to also mention that it makes the decoding way faster.
Overall, allowing more access to advanced settings would be awesome for tinkerers, for example choosing the depth of the beam search!
I apologize, "harass" was too strong of a word. The way the reminder works in and of itself hardly bothers me at all. I'm more upset on principle that there's anything at all that runs on my device that I'm not allowed to change.
I'm running the keyboard right now and it has a text editor mode that gives you arrow keys, a capslock key, and clipboard keys, but I don't see a control or alt key.
As a paying customer the answer is that you don't get any features other than a thing saying that you paid. It is similar to donating to Signal Foundation where you don't get some 'new feature' within the Signal app for having paid, you just get a little thing next to your user icon showing that you did. It is a support badge.
Concerning parts:
> You may use [...] the software only for non-commercial purposes
> You may distribute the software or provide it to others only if you do so free of charge
> you may not remove or obscure any functionality in the software related to payment to the Licensor
----
Also, the button that says "Download from F-Droid" is super misleading. It's actually downloading it from a third-party repo that happens to be compatible with the F-Droid app, but it sure makes it sound like you're going to download it from F-Droid's repo.