FUTO Keyboard: The Discussion Behind A Cool Product
tedium.co
A pretty interesting take, and an interesting discussion about what it means to be open source. Is there room for a trusted space between open source and closed corporate software?
A pretty interesting take, and an interesting discussion about what it means to be open source. Is there room for a trusted space between open source and closed corporate software?
Depends on what you mean by trust. This wasn't made any clearer by reading the article.
"We promise not to do bad things" is not a safe long term contract. If they can change the terms at any moment and retain control, then they can break that promise and that's final.
This is why open source matters. This is why we shouldn't let people try to change the meaning open source. True open source is forever open, it is the author's Ulysses pact.
FUTO keyboard is source available, and that's final, too. Whether it is also "source first" and if that term is worth recognizing at all is a separate and entirely valid discussion. Even the worst incarnation of source available is still generally better than closed source, in my mind.
Can there be a trusted space between open and closed source? Maybe, I don't see why not. Again, define trust, and who's judging. Some people already trust closed source proprietary software, for some reason, while others strongly reject anything that isn't free software—remember, we're not talking about price, here.
I wish FUTO and Rossman all the best, as I do with the free software ecosystem and most of open source. Open source is open source, though, let's not get it twisted.
Exactly. I use and enjoy FUTO Keyboard and Grayjay, but I'm under no illusion about them being open source, they're source available. I think they're great products and great alternatives to proprietary software, but until it's released under a proper FOSS license, I will be keeping my eye out for credible alternatives.
You might like HeliBoard licensed under GPLv3. I've been using it for several months and I really like it. Sadly, for swipe-typing you need to load proprietary library.
Currently using HB as well and it's really nice. I'd like to try FlorisBoard again in the future, after they've reached some of their milestones. Seems like it'd be even nicer... If only it made such progress. Not complaining, though, I'll wait as long as they need.
Cool, I'll try it out! Thanks!
Outside of software spaces the discussion around copyright seems so much more nuanced. Any creative commons license is generally considered "copyleft" regardless of the details, and some are far more restrictive than the FUTO license. Consider projects like Wikipedia which accept content licensed under GDFL, or CC-BY, or CC-BY-SA, Apache 2.0, or PD.
I am not a programmer, so maybe I am missing a huge piece of context, but what is the insistence in the free software community for what seems like total license purity? I even see software engineers arguing that "everyone" should use Apache or MIT and not the other, which is somehow bad for the FOSS community. What am I missing? Isn't more free better than less free?
I might not be the best person to explain this, but I believe you are, in fact, missing a bit of context.
Inside software spaces, specific needs beget specific discussions. They are as nuanced as they need to be.
Did you know Creative Commons themselves recommend against using CC licenses for software?
The software world, and open source in particular, has historically had a lot of complex and frustrating moments due to licenses and the misaligned interactions of volunteers and companies. This probably leads many people to strongly advocate for what they believe would've helped in the past, and may help in the future.
I won't get into whether everyone should use Apache or MIT—which aren't considered copyleft, I think—but it's also important to remember that even inside software spaces, people will often hold different and sometimes even conflicting views regarding ethical/ideological matters. They can also be just straight up wrong due to lack of knowledge, experience, misunderstandings, etc. That includes me, by the way!
I hope that helped. I can point more resources later, if you want.
Thank you - I would love to read any resources that you have
Well, that's wonderful to hear!
If you're wondering what sort of issue being careless with licenses can cause, see the (in)famous case of Tivoization. GPL 3 was written partly to solve issues like this.
Note how issue here is still subjective. Linux stays on GPL 2 and the people in charge are largely uninterested in planning a path forwards, or outright refuse to even consider it.
For a more recent example of how community/contributors and owner/company interest misalignment can make a huge mess, see the consequences of HashiCorp changing the Terraform license from MPL to BUSL. Relevant facts I'd like to note:
Or, for a slightly funny case:
A while back I saw a project on GitHub licensed as CC BY-NC-ND 4.0. The developer was considering writing a guide for contributors, even though I'm pretty sure you can't fork and modify it to open a PR (popular way to offer contributions), because that'd break the ND clause (sharing derivatives). Were people supposed to e-mail patches straight to the developer? Who knows! There are people who are into that, such as some Linux Kernel folks.
And finally, here's what I thought was a very interesting take on what "free" means when talking about software licenses, touching upon obligations, rights and copyleft.
I'm trying to avoid opining too much, even though I can't help it and, really, it's inevitable. I hope these serve as entry points for further research, and that they help you form your own perspective on all this. And if you do happen to end up agreeing with me in the end... well, I obviously won't complain :^)
Thanks, I appreciate it. I'll check it out.
Part of it is 'can the current license facilitate them doing a rug pull'. A LOT of the licenses on these new tech darlings are written in such a way that they absolutely can change the terms, close the source and/or dramatically restrict access, and you can go get fucked.
They use Contributor License Agreements to ensure they own all the rights, and whenever they feel it's advantageous for them, suddenly it's now under a new, more restrictive license because there's nothing in the old license that stops them from doing so.
I'm a big fan of actual, real, forced-to-stay-open licenses like the AGPL and very much against CLAs because those two stances are essential for what's open and useful staying open and useful.
Whatever this is licensed under is... not that.
Thanks, I appreciate it.
I just don't understand what is in the text of the License itself that would do so any differently than say the Apache 2.0 license.
Would you point me to the language you are referring to?
It's less what's in FUTO's license, than what's NOT in the license.
The main problem with those cute little licenses is that if the right is not EXPLICITLY mentioned, you don't have it.
That license is more a list of thou-shalt-nots than outlining your rights to own and use the software: literally half of it is a list of things you cannot do.
It also doesn't require you to provide source code for your modifications, nor does it require you make it available AT ALL.
It also, at no point, says anything whatsoever about source code access - it merely says "the software" which could mean anything they want it to mean.
So basically it's a license telling you you have a license to their software, what you cannot do with it, and zero requirement that ANYONE share the source code.
I accidentally googled “FUTA Keyboard”
Oh, the keyboard made by Mr. Futa C. Vore, I like that one.
My primary method of typing on mobile is swipe typing:
FUTO
diesdoes aferventdecent job at it, but itsumstill has a wayFYIto gofitfor me to make a full switch IMO.I am quite impressed by the voice to text method though. But I do wish it would show what is being transcribed in real time. Overall, I'm impressed with what the team is doing. I can't wait to see the next iterations of this, but for now, I think I'm going to have to stick with G board. Additionally, the GIF picker is super convenient on G-board.
I like how you showed the incorrect words it was using while using the swipe typing. I had the same experience and, unfortunately, until it
improvedimproves I'll have to stick with what works... Gboard.Honestly, since I can see the source code and confirm that it isn't sending my data anywhere, I think it's ok, even if it doesn't meet the standard definition of foss. The keyboard is also pretty dang good, but I have two complaints. 1. I want to be able to resize the height of the keyboard. 2. The swipe typing sucks. As soon as those two things get fixed it's easily the best keyboard on Android for me.
You can adjust the height in the settings (edit: under themes). I use the swipe and seems to be as good as other open source keyboards (I previously used heli and AnySoft). It is still in alpha so hopefully they can refine it further.
BTW, heliboard is also pretty excellent.
Ah, that height setting was hidden then lol. That fixes that issue! I'm also very aware of Heliboard, that's what I'm currently using (with the google proprietary blob for swipe typing). I just don't feel like the swipe is that good, it often just doesn't produce any word after I'm done swiping out the word. Thanks for the tip about the height!
I both use, and bought this keyboard right after it was announced. I'd say it is not as good as gboard yet. I miss GIFs access and flip back and forth as required. I've had zero crashes on my Pixel 8P
It is my primary keyboard, and hopefully still learning, but word suggestion isn't as good (yet). FUTO voice integrated in which I was already using can be quite good. I'm using the slower version which is a little less convenient but tends to work better.
Using it. Loving it.
I like the keyboard but it crashes frequently and android reverts back to gboard. On my OnePlus 9 pro.
Counter point, it hasn't crashed once in my one plus 9 though I wish Swype worked better. I'm super happy to have another option though and am powering through it.
Same, but on a Pixel 8. Swiping kinda sucks, but it's better than FOSS alternatives, and the suggestions are pretty good.
I've been using it for about a month now on a pixel phone and it's been excellent. Parts of it are still in alpha, but I have been lucky.
I installed it on my Z-Flip 4 recently and it works well. The only issues I've had besides having to retrain it is related to vibration feedback. Tab vibration on auto doesn't work, and there's no vibration when swiping on the spacebar to move the cursor.
I use it on and off. I get annoyed that the swiping constantly gives the wrong words.
I know nothing about all this licensing stuff. Way over my head... But, is it possible that "futo" is using us to train their software, then when it's working great, change it to a paid app?
Not sure what you mean by "train." If you mean "test" then yes, they are in alpha and anyone can submit bugs. As other users have said, we have only their word that they intend to keep the source available. If you mean "track users to train ML models," then no. The whole point is that the software is private. All of the processing - the gesture typing, the audio processing, the LLM, etc are all performed on-device. And the source is visible for all to see, so it offers similar protections to FOSS software in this regard.
The software doesn't "phone home" - it can't even check itself for updates. It just sends you a little message on a predetermined schedule to manually check. (or you can use a repo/software manager)
In theory and in practice, any Open Source project could be purchased by a for profit company who takes down the source code. However, any prior code would remain under the previous open license. Apparently one of the issues with this license is that it contains no durable license for the code itself. You can't just fork it and make your own version, although you can use any of the code with certain noncommercial and attribution requirements.
Thanks for explaining
I doubt it. All of the AI stuff is local, and I don't think there's any network interaction other than checking for updates (you could check that, or block it with something like RethinkDNS or NetGuard), so there wouldn't be any way for them to get your data. The other app of theirs I use, Grayjay, doesn't even sync between instances of their app across devices, so I think it's fair to say they explicitly avoid touching the network whatsoever.
Thanks for responding