FUTO Keyboard
keyboard.futo.org
keyboard.futo.org
The have funded development of Signal, Louis Rossman's Right to Repair Advocacy, Trieve.ai - the YC 2024 open-source AI-powered search platform, TOR project, GrapheneOS, CalyxOS, KiCAD, VLC, Zulip, Blender, FFmpeg, GIMP, KeePassX, PeerTube, Free Software Foundation, NeoVIM, Lichess, GitLab, and many many more.
The company doesn't promote itself heavily so you have to deep-dive to truly understand their impact, but it is significant. It was founded and funded by a developer and entrepreneur who sold his company to Yahoo back in the day, ran Yahoo Games for a while and then took his considerable resources and moved to Austin, TX where he built an amazing ecosystem around decentralized technology.
I am not directly affiliated with FUTO but I know them because they host free lunches for decentralized tech enthusiasts every Friday on their campus in Austin, which I regularly attend as do some notable figures from the open-source, decentralized tech and privacy-forward community such as the CTO of Signal, CalyxOS and others.
If you are ever in Austin on a Friday I encourage you to come check out a FUTO lunch to be inspired, meet friendly folks and talk about our decentralized future. Lunch details are posted on their Zulip chat, available from FUTO.org
Some of the more annoying things about Google keyboard, is when swipe fails to activate.
I think swiping is really pivotal to mobile input. I've been tempted to run some analysis and try find a keyboard layout that minimises errors, gives greater accuracy and speed of input, etc. But it is a big project. I want to keep the 3 row layout/size as well, just rearrange the keys for swiping. ( I have seen some keyboards try to promise effective swiping but they are too obtuse and different for me to feel comfortable with using rather than just rearranging qwerty)
Review of FUTO: It's alright. The swiping has a little bit of inaccuracy but that is just due to noticing it versus Google's data harvesting. The voice input is also something that I use and it seems okay with Futo but it relies on me saying the whole sentence which it will then analyze and put in the grammar. That is pretty good and it does a really good job of it. I am used to voice talking and correcting as I go, so this will be something to get used to. All in all, I like it. And I will try it for a little while.
You should check this out; https://jasmcole.com/2017/06/04/swype-right/
One of the comments raises the main concern that I have as well, which is the ambiguity, in and on are fairly similar, but there's also other combinations that are way worse. Wide and worse being one of them. We almost want to encode the direction of the letters from each combination, and maximize the angular distance but minimise the magnitude of direction.
Great link. Thanks
https://sangaline.com/post/finding-an-optimal-keyboard-layou... minimizes errors.
Ironically. I think a swipe+T9 layout could possibly work....
Time to do my own analysis..
Preach. Back in the day, I refused to get a keyboard-less phone until I tested the swipe keyboard for myself.
I literally just blindly tap around in the general vicinity of the key I want to press, and SwiftKey outputs the right word.
All I word is a keyboard that does that, without the bullshit. SwiftKey is extremely infuriating because it's 99% close to perfect, but it has some ridiculous things like always replacing "my" with "NY" and there is absolutely no way to make it forget the word "NY", no matter how many times you say "forget this word and never predict it".
How hard can it be to add word deletion from the dictionary?! It really annoys me how close it gets to perfection but shoots itself in the foot by word deletion not working.
FUTO, please, please make a SwiftKey that works. I'll pay you $20 for a lifetime license.
All I word is
Which keyboard did you use to type this message? :)https://www.researchgate.net/figure/An-ATOMIK-layout-with-hi...
If I type "Akk" it corrects it to "All" only if I pressed the "k" on its right side (near the "L" key); if I pressed it further left, it keeps "Akk".
That works really well.
Can FUTO do that too?
For example, today I typed "I'm not sure bit"; SwiftKey reliably corrects that to "I'm not sure but" (I believe even without any local learning) and FUTO doesn't.
"I'm not sure bit" is just a very unlikely sentence, and I believe any Markov chain model should easily correct that.
https://github.com/futo-org/android-keyboard/issues/102#issu...
The world used to be full of sliding phones with dedicated keyboards, but for some reason every manufacturer is content making the same glass rectangle.
It's like we created a problem and are trying to solve that problem with technology, instead of not creating the problem in the first place.
"[S]ome reason" is actually a lot of reasons, all of which are pretty easy to understand. In no particular order:
- Physical keyboards of any kind, stowable or not, add ~100 new mechanical points of failure which make the device harder to "life-proof" and more vulnerable to damage from debris, liquid, or physical impact.
- Sliding, folding, etc. mechanisms add even more points of failure.
- Keyboards and their stowing mechanisms if applicable take up space which could otherwise be used for screen or battery, or just removed to make the device slimmer which is a constant.
- A keyboard attached to a "widescreen" phone is going to be on the wrong side some of the time. A Blackberry-style fixed orientation works better but people don't want that.
For most users the worse typing experience just isn't enough of a problem to be worth the downsides. At least the Android world had plenty of options with keyboards in the beginning, but they just didn't sell as well as the all-glass bricks.
If you really type a lot on your phone you could just grab a Bluetooth portable keyboard and velcro it to the back of the phone. I think someone made a case with a BT keyboard built in for iPhones at one point but I've never seen one in the wild.
I personally used to have one of those tri-fold "pocket keyboard" units that physically plugged in to the dock port on my Palmpilot, now that Apple's finally on the USB-C train it'd be possible to make one of those universal to all modern phones. Maybe that idea needs a comeback. I wonder if the modern "low profile" mechanical keyswitches would be workable in something like that.
Turns out, I type way faster on a virtual keyboard with a decent autocorrect. I don’t like doing it but I’ve gotten good enough over the past decade that physical keys are worse for me in just about every possible way.
1. FUTO Keyboard is licensed "FUTO Source First License 1.0"
2. FUTO Keyboard is a fork of the AOSP keyboard (called LatinIME). LatinIME is open source, Apache licensed.
3. The source code is here: https://gitlab.futo.org/alex/latinime/
I'm not an open source purist, but the more central/fundamental the project is to my life/workflow, the more important that becomes to me. A keyboard is pretty fundamental. I'd love to have an open source keyboard that is good, especially with good speech to text (it drives me crazy how Google continually changes the behavior of STT on the Pixel 8. I get the philosophy behind incremental improvement, but it's a continual stream of two steps forward, one step backward, one forward, two backward, three forward, etc. Just as I learn the quirks and how to work around them, it all changes and there's all new quirks to learn and workaround. Maddening).
It's still early days, but this an interesting project to keep an eye on!
It restricts modifications one can do, and how to distribute it.
There is quite a stark difference between source available, and open source.
Without that freedom, you really don't have the benefits of open source. This is commonly referred to as "source available".
- didn’t invent the term open-source, they co-opted it from Christine Peterson who is not even a member of OSI
- was founded by secret charter members and is funded by closed-source tech giants like Google, Apple, and Microsoft who make billions exploiting open-source software while giving virtually nothing back in return
- is heavily influenced by these same corporate giants who steer decisions such as the definition of open-source for their personal profit above the needs of society
> But regardless of how you got your copies, you always have the freedom to copy and change the software, even to sell copies.
The freedom to charge for modified versions was always there.
These source-available licenses that limit one’s ability to commercialize are specifically designed to prevent big tech oligopolies from exploiting open source without payning, something they are notorious for doing.
Regardless, her original definition did not weigh in either way on the ability to commercialize, specifically to avoid a political battle.
As such the FUTO license is a valid open source license under the original definition, but not on the OZzi’s definition.
'The introduction of the term "open source software" was a deliberate effort to make this field of endeavor more understandable to newcomers and to business, which was viewed as necessary to its spread to a broader community of users. The problem with the main earlier label, "free software," was not its political connotations, but that—to newcomers—its seeming focus on price is distracting. A term was needed that focuses on the key issue of source code and that does not immediately confuse those new to the concept. The first term that came along at the right time and fulfilled these requirements was rapidly adopted: open source.'
Source: https://opensource.com/article/18/2/coining-term-open-source...
This is from Christine Peterson's published account of how the term 'open source' came into popular usage.
The term 'open source' in popular usage as defined by the Open Source Definition (https://opensource.org/osd) has been in use for more than 25 years now.
Let FUTO keep their "source first" license and use it to forward their goals, but do not create confusion by trying to co-opt the well-known and broadly understood meaning of "open source".
If Peterson has a different opinion, you should ask her and tell her own story. Making her the figurehead of your own crusade is not helpful.
https://en.wikipedia.org/wiki/The_Open_Source_Definition
https://en.wikipedia.org/wiki/The_Free_Software_Definition
https://en.wikipedia.org/wiki/Comparison_of_free_and_open-so...
"This article may be confusing or unclear to readers."
Also:
https://en.wikipedia.org/wiki/Open_source - Richard Stallman argues the "obvious meaning" of term "open source" is that the source code is public/accessible for inspection, without necessarily any other rights granted
https://en.wikipedia.org/wiki/Alternative_terms_for_free_sof... - In a 1998 strategy session in California, "open-source software" was selected by Todd Anderson, Larry Augustin, Jon Hall, Sam Ockman, Christine Peterson, and Eric S. Raymond. Richard Stallman had not been invited.
I'm getting downvoted now for dissenting. :D
1. Calling proper nomenclature “gatekeeping”.
2. Selectively quoting people to seem like they disagree, where in fact no such disagreement exists.
But I quite often see trolls trying to claim that he does, since if the term is disputed, it opens up for what the trolls really want to do, which is always to illegitimately market their proprietary software (with abominable license terms) as “open source”.
Yes the open core projects can be forked but almost none of the forks are successful in adoption. Terraform, Elasticsearch, MongoDB etc. kept almost all of their users. That's because the people who write the source and maintain that software (and them having a better livelihood) is more important than the actual source code. An unmaintained open-source software is (going to become) useless and expecting donations will not fix it.
You can see the other examples that resulted in more open structures like LibreOffice. It continued to live and exist because its original developers forked it not because the license they chose.
* https://github.com/futo-org/circles-android (AGPL)
* https://github.com/futo-org/circles-ios (AGPL)
* https://github.com/futo-org/matrix.swift (Apache 2.0)
There are a few other little things here and there, mostly Apache 2.0, but the above are the bigger ones.
Edit: There is also Alex's Whisper finetuning repo https://github.com/futo-org/whisper-acft (MIT)
On a side note could you share the best way to provide feedback on Circles? I am a new user as I downloaded the app just today. It looks beautiful and I love that it runs Matrix but I ran into a number of usability issues that prevent me from adopting it as a first time user and I suspect it may affect others as well so I would love to share feedback.
If you’re a Matrix user, come chat in #circles:futo.org.
Otherwise the Github repos all have issues enabled so please feel free to file things there.
I disagree and so does FUTO but in the interest of making nice with the community, they now call their software license “source first.”
Personally, I think of their license as open-source for humans, but not the for-profit legal fictions we call corporations. I am ok with that.
Why does the OSI get to dictate the one true definition of open source?
OSI didn’t invent the term. It was invented by Christine Peterson in 1998 and notably she is not even a member of OSI. They just co-opted the term from her.
OSI was founded by still secret charter members and large corporate sponsors such as Google, Apple and Microsoft who make Billions off the back of free open source software while giving back almost nothing.
FUTO was founded as an alternative to the tech oligopolies and their software is licensed as open-source except that they require separate licensing for commercial use, specifically to protect against exploitation by tech giants.
But in reality it’s four letters that sound good together. (And for which a domain name was available, I assume.)
It's an interesting reaction to suggest that.
They developed a definition as a service and gave it to everyone to use just like one does with software or art.
Other people have decided that they agree that this definition correctly describes a bag of concepts and principles they need some sungle convenient collective term for.
They "dictate" the definition only in the same way you "dictate" the contents of anything you wrote, or the way you "dictate" what your own name is.
If I say "Foo is not an OSI approved license." I am the one "dictating" something.
I am using a definition that was written down so that it's available for me to use as a reference when I want to say the entire bag of principles without having to spell them all out each time in a tweet or something.
All the OSI did is write down some ideals and principles the same as a wikipedia page.
They have no power to "dictate" that you exhibit those values. If you don't hold those principles, then don't.
What, you want to be able to call yourself a saint and enjoy the admiration due to saints, without having to actually live up to the annoying things that actually make a saint worthy of that admiration? Ok.
It is accurate for me to say that the FUTO license is open-source according to the original definition of open-source as coined by the author of the term, which focused on the freedom to view, modify, and distribute the software's source code, but made no mention of the ability to commercialize without compensation.
If you say “FUTO is not an OSI approved open-source license since it does not conform to their Open Source Definition” - you are also 100% correct.
When one implies that the FUTO license is not open source, without further clarification, such as adding “according to OSI” then the accuracy of the statement is less clear.
Really, now? Who was that? Where can we read this supposed original definition?
Christine Peterson published an account that states that 'open source' was based on helping people to better understand 'free software':
'The introduction of the term "open source software" was a deliberate effort to make this field of endeavor more understandable to newcomers and to business, which was viewed as necessary to its spread to a broader community of users. The problem with the main earlier label, "free software," was not its political connotations, but that—to newcomers—its seeming focus on price is distracting. A term was needed that focuses on the key issue of source code and that does not immediately confuse those new to the concept. The first term that came along at the right time and fulfilled these requirements was rapidly adopted: open source.'
Source: https://opensource.com/article/18/2/coining-term-open-source...
- The freedom to study how the program works and adapt it to your needs.
- The freedom to redistribute copies so you can share with your neighbor.
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
https://web.archive.org/web/19980126185518/http://www.gnu.or...
Those are absolutes that apply to everyone. Period. If you can't release improvements because you are a commercial entity then that means the third freedom is restricted. That means it's not free software.
The FSF also covered the ability to charge for distributing copies as long as those freedoms were not lost in the process:
https://web.archive.org/web/19980126190125/http://www.gnu.or...
These are absolutely not kept by a license such as FUTO that restricts these freedoms to certain groups and certain types of activities.
I understand the word "neighbor" and "community" in the narrow, personal relationship, sense.
> The FSF also covered ...
I think FSF's GFDL is general non-free, and all copy left license are discriminative for ideology
You say that as if megacorporations improved open-source software instead of just using it to develop their shitty proprietary software.
but if she did stop contributing her $50 a year at some point in the last 26 years, how is that relevant? she founded it, in the sense that she was at the meeting which founded it. the osi was specifically the initiative for which she proposed the name
"Peterson was not a founding member of the OSI. The OSI was founded by Bruce Perens and Eric Raymond, who were instrumental in promoting the term "open source" after Peterson introduced it"
"Christine Peterson is not currently a member of the Open Source Initiative (OSI), nor has she ever been a formal member of the organization. However, she played a significant role in the open-source movement by coining the term "open source software" in 1998."
[1] https://www.perplexity.ai/search/is-christine-peterson-a-mem...
regardless, the osi's membership roster is irrelevant to your assertion, 'the FUTO license is open-source according to the original definition of open-source as coined by the author of the term,' which it is not, and which futo doesn't claim it is
the lack of integrity you are exhibiting is staggering. stop posting defamatory lies
Here is (one example reason) why it's important not to try to insert strings about commercial usage into an otherwise open source license:
I'm joe ordinary user who, today, has no plans to use something in any commercial way.
I will still avoid any software or other asset like art, hardware design files etc, that doesn't have a real gpl or mit or cc-by-sa license, because,
1 - I have no idea if I may some day discover I do want to somehow involve it in some commercial process, even if not today. I have no idea what I'll want to do tomorrow. I only know that my core principles aren't likely to change. I'm not likely to want to start stealing tomorrow. But I could start wanting to do something commecially tomorrow that I'm not doing commercially today.
I don't want to invest years of effort in something that I might have to throw out and start over one day, or simply be unable to jump on some opportunity, because I thoughtlessly went and got all invested in something that had strings that I didn't think would ever apply to me.
A lot of things require some investment in effort to learn and to use and then to use effectively, and eventually advanced usage etc. I'm going to avoid becoming an expert in something and writing all kinds of integrations and scripts and solving weird problems and contributing fixes and writing up detailed how-tos etc all for something that I might have to throw it all out one day if the unknown currents of future life winds up meaning I do want to employ some skill commercially after all.
So I just tend to avoid things where that could ever possibly be a problem. As much as practically possible anyway. "tend to avoid" means just that. But that's a lot actually.
2 - I may not even necessarily know if I AM using something in a way that counts as commercial, or might technically violate some other terms.
There are an infinite number of hazy ill-defined scenarios where it's unclear if something would count as violating one or more terms in about commercial activity. Some people are fine with just not worrying about it and taking their chances with "common sense". But it's hardly INvalid to actually care about whether you might be tecnically violating a license. What if I'm just making youtube videos for free without even trying to get sponsors, maybe I use the software in some way in the video, but youtube still applies ads and pays me $1.30 because I didn't turn off monetization on a new account? What if I'm just writing up a readme as part of a fully free wikipedia page or a github, or just a post on facebook, and someone comes along and says they'd like to include that in a book or a paid video class? What if I use something not to sell it or to sell it's output, but it lands me a job because someone saw the project, or I use something just as part of my workflow while running some ebay shop or something, or I use something to process my friends voice acting recordings, which they get paid for, or I do something for a community theater where I don't get paid anything, but the theater does sell tickets to pay for the building and electricity etc, it's a non-profit but it's clearly a commercial activity. Maybe me getting to put my name in the playbill , which is advertizing, which has commercial value, counts... There are an infinite number of fuzzy unclear scenarios where some activity might technically count as commercial activity. Most of those examples I just thought up off the cuff probably don't count, but I can only say probably. I don't really know. And I have ZERO interest in gambling on it. I just avoid anything where there is any uncertainty.
I KNOW what I can and can't do with anything that says GPL on it, and I KNOW that none of the things I can't do will EVER surprise me in the bad way one day. I don't have to worry about it, since, even if I use something as part of a commercial process, I don't have any problem with providing access to the sources to any gpl software or gpl-derived software. And I also don't have any problem just living without something if I am working on something proprietary where the owner does not want it to become open. And I never have to worry about a serial number, never have to worry about an audit from MS etc.
Similarly, I don't want to waste my time writing or hacking on anything that isn't as open ended and unencumbered as possible (I don't consider gpl limits as "encumbered"), such that anyone else in the world can't do whatever I did.
I don't want to be a member of an elite club. I don't want to spend the time and effort to figure something out and then maybe add my own work to it, if only some people can benefit from it and not others. I draw circuits in Kicad instead of Eagle not just because Kicad is free for me, but because it's free for a 12 year old in Uganda and they absolutely can use not only my work because I said they can use my work, but also because I didn't do that work with any software they might not be able to use, either because of cost or because of some license not allowing it because, maybe aside from just using my design to make themselves a widget, they want to make widgets and sell them to the other kids.
If any part of the system has some commercial strings, they end up blocking way more than they seem to at first glance.
Say I'm that 12 year old. I find this example that is almost the same as what I want to do, and it would be super useful to learn from this thing and use it as my starting template to make a bike alarm, and the author even says the design files are free to use, no strings, but the design is done in some merely free-as-in-beer software that I can't use legally, or maybe it only runs on Apple. So I can't actually make use of the design because I can't use the software needed to work on the design, because the douchebag who made it made in some software that not everyone can use.
So I do everything in Kicad. There are people who don't like Kicad, but there is no one who does not have free access to it, including both meanings of free. Same goes for the file formats the content is saved in now that I think of it. Aside from the software, the format of the output files are all fully published specs, which is very much not the case for most everything else.
This STUPID FUTO thing is a perfect example of a weird thing that is best just avoided like the plague.
Not because it's a problem that it prevents you from stealing, because it's a problem that you don't really know what you might do one day that might possibly violate it. You can't violate it if you just don't use it at all.
And just to re-state this another way, I am not doing the thing where commercial programmers complain that GPL code must be avoided at all cost, and they can only use MIT code because one line of gpl code will mean they have to give away all their multibillion dollar proprietary shit. They say things that sound almost the same as what I just said, but the difference is they are complaining about not being free to steal something that's already free. They can use gpl code in commercial products just fine. They can even sell gpl software straight up. The only freedom the gpl infringes on is the freedom to deny the next guy the freedom you enjoyed. It only blocks the freedom to be a dick.
This FUTO thing, it's obviously an attempt to do something about a certain form of bad behavior where someone else gets to make a lot of money from something someone else wrote and gave them for free, and they are not obligated to share any with the original authors, and so they don't. That's not a bad desire to try to address that, but this way of doing it is just misguided and ill-conceived that's all. It does not really produce the result they are aiming for. It just produces the result that, the most thoughtful and principled developers and users will avoid them. Oh there will still be some number of fans and adopters. But that doesn't mean anything. You can put a turd in a shoebox and sell it to someone, and the internet makes everywhere the center of Times Square so you will easily find a population of those someones.
If OSI had the right to define it, then they would be suing FUTO right now. They aren't because they know they can't enforce any definition of "open source".
That is all "open source" really means. It's open for people to see/view. Beyond that, is where a license comes in to restrict or give freedom beyond the term of "open source". That is what OSI does. Adds additional requirements within a license. It cannot change the definition of the term "open source" however.
For many of us, we've never used "open" to mean viewing.
Right now I wouldn't trust the license to let me message my boss or buy something from a store on my personal phone without violation, commercial activity is an extremely broad term.
It was suggested by Peterson in a conversation with the founders of OSI. The conversation went something like this: "Hey, Christine Peterson, the FSF is doing a bad job explaining free software to business owners and executives, and we think we can do better. Right now we're trying to come up with a replacement for the name 'free software'". The only reason anyone ever started using the phrase "open source" in the context of software licensing is because of the activism of OSI.
It is true that she was looking for a term to replace “free software” with something more akin to free speech than free beer but she specifically avoided adding any constraints either way on limitations for licensees to commercialize works in order to remain non-political.
Notably the inventor of the term has never been a part of the Open Source Initiative and the term Open Source pre-dates the oSI.
Also, has Peterson ever published anything on the subject of software licenses? I severely doubt it.
You are trying to influence public opinion by citing facts out of context and ignoring any facts that disagree with your chosen narrative. Your motivation is probably to justify your using the phrase "open source" in a misleading way to market something you have a personal interest in.
What exploitation does (A)GPL not protect against?
most such companies avoid the AGPL because it prevents them from creating proprietary extensions to the code, but not because it would prevent them from commercially exploiting the code and profiting from it.
the problem that FUTO is trying to address is the commercial exploitation at the expense of the original creators. a problem that several companies (redis, mongodb, elasticsearch, zerotier, terraform, vagrant, and many more...) in recent years had to face, causing them to change their license.
it's a problem that bruce perens is also trying to address: https://news.ycombinator.com/item?id=38783500 "What comes after open source? Bruce Perens is working on it"
I think is to prevent shits forking it and putting ads or malware in the programs, Like those asholes that put malware in VLC and then paid Google to have their website on top of the search results. Indeed Google will accept money from your competition or from bad people to put their shit websites on top of a legit result.
Disallowing distribution of software under the original name is already covered by trademarks. If someone doesn't care about trademarks they likely won't care about them not being allowed to distribute the app commercially nor change the payment links.
It's fine for FUTO to put those terms in the license, but the reason given isn't entirely convincing, given trademarks laws exist.
also, a trademark needs to be actively enforced. that costs money. something a small developer like me can not afford. copyright protection is automatic and i don't risk losing it if i decide not to go after a violator. i can always change my mind later.
Maybe we need a new GPLv4 where we add restrictions like no ads, no malware, no stealing of private data, if your company uses GPLv4 and puts ads, steals private data or deplys malware or scams then you lose your license.
FUTO posted an explainer about its "source first" licensing.
Developer: I am, in all honesty, glad for the experimentation. However, you should understand that critical issues include the ability to remix. I cannot use your code in my project. Ergo, it is not open, free, libre, or similar.
You're better off underselling and overdelivering. The term should also convey what this does. I like "source-auditable" or similar. "Source-first" says nothing.
You should also think about longevity. How do I know the license won't change next week?
Open source has created some really great backend software and developer tooling, but somehow it’s not great at making nice consumer-friendly client side apps. When you look at the best apps, even the ones like Chrome that use open licenses, they are created by a relatively closed group of developers funded by a for-profit company.
The Source First movement is aiming to provide a way for that kind of closed focused team to be more open with their users. I don’t imagine that many Source First projects are going to be looking for lots of community contributions, and that’s ok - the closed source apps don’t do this either and they seem to get along fine.
Then my logic kicked in and I came to the same conclusion you did -- it's not open source, but source-available means people can audit that it's honest. That's a huge win over closed-source, especially for something privacy-focused.
I think the gut feeling comes from a long history of projects using source-available licenses in shady ways. The brain pattern-matches.
That would be good to address upfront. Simply stating "not open source, but source-auditable" might help address this.
Another good thing would be to post the price upfront. Right now, it requires an email to get to which is an antipattern.
These issues are cosmetic (but important).
This looks like a really good project.
If you want to use your existing recordings, uploading them to YouTube or archive.org with a Creative Commons license might also work.
More info of how to help here.
Too bad that the license is not open-source, I prefer donating to projects that are open-source even if asking for a fee to use (ex: Netguard, MyExpenses).
Isn't that the whole point of futo? Paid for open source software?
They din't invent it, they proposed a formal definition, and other people agreed, and have been using the term to mean that meaning for decades by now.
You can't change the meaning to suit yourself at this point after other people have already used it. That would be changing other people's words. You can't very well accuse OSI or anyone else of the crime of presumtion while being willing to do that.
"did not invent the term" is just a totally pointless and silly thing to even think about or say. It's as silly as saying that Websters didn't invent the words they write down definitions for.
I still stand by my comment that the OSI is an organization that profits directly from significant funding by closed-source big tech players and therefore has a strong conflict of interest in their definition of open-source according to their Open Source Definition.
The OSD is defined specifically to ensure that open source code, except GPL can be commercially exploited and effectively become closed-source by big tech.
Famously, Christine Peterson the woman who did invent the term, defined "open source software” in 1998 as software which included the freedom to view, modify, and distribute the software's source code.
She made no claims about the ability to commercially exploit open source software without compensating the original author(s). Those terms were added later by the OSI definition.
I do think it would be more accurate to claim that software with terms limiting commercial exploitation is “open-source” per the original definition, but is not in compliance with the OSI’s Open Source Definition (OSD)
> 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.
This severely limits the freedom to modify the software or even use it as only certain ways of modifying it are allowed.
> Notwithstanding the above, you may not remove or obscure any functionality in the software related to payment to the Licensor in any copy you distribute to others.
This limits the ability to modify the software in any situation.
> I do think it would be more accurate to claim that software with terms limiting commercial exploitation is “open-source” per the original definition, but is not in compliance with the OSI’s Open Source Definition (OSD)
No it wouldn't be. You can read all the things said regarding free software for more history since open source was per it's original definition merely a renaming of free software.
The FUTO license allows all these things but with the limitation that it not be for the purposes of:
A/ subverting the original code’s payment terms if any, or
B/ commercializing the software as a licensee without payment to the licensor
This is in clear violation of the terms of an open source license under the open-source definition (OSD)TM of the OSI.
However it does not violate the original definition of the term open source as coined by Christine Peterson who specifically did not apply any commercialization constraints in either direction in order to remain non-political.
She simply claimed the term "open source" was intended to highlight the importance of making source code available for use, modification, and distribution without the political connotations of "free software"
The constraints against limiting commercialization were introduced by the OSI in their definition, in my opinion based on influence from their closed-source big tech financial sponsors.
That is a real problem, but the solution is to move towards GPL, not away from open source.
Yes.
Source First: https://gitlab.futo.org/alex/latinime/-/blob/master/LICENSE....
Open Source: https://opensource.org/osd
Notably, Source First does not allow for the software to be used commercially ("You may use or modify the software only for non-commercial purposes...") whereas Open Source does allow commercial use ("The license shall not restrict any party from selling or giving away the software..." and "The license must not restrict anyone from making use of the program in a specific field of endeavor.").
Microsoft shares Windows codebase with its partners. Is there a tangible difference between it and Android?
Also, as a developer, why would you volunteer for a "source first" codebase? I don't see any point since you can't really fork it, in the traditional sense.
Only a limited number of people can view the Windows code and nobody can make their own version of Windows.
I use [OpenBoard](https://f-droid.org/fr/packages/org.dslul.openboard.inputmet...), but there is no update since 2022 (it works well though).
> HeliBoard is a fork of OpenBoard, continuing the project from where it stopped.
More realistically, as often as bugs are identified and patched.
Edit: another comment mentioned Thumb-Key [^2], which has a similar swipe feature.
[^1]: https://f-droid.org/packages/juloo.keyboard2/ [^2]: https://github.com/dessalines/thumb-key
In contrast, Zulip is fast, simple, and “just works”.
I've been running Element flawlessly for two years now, including a Synapse server. Never had it more "just works" before.
Hint: It's not a fun experience.
Personally I use Element every day to keep in touch with the Matrix community, and it works fine for my minimal needs. It’s better now than it was then.
Slack is the worst at this, I can never remember any of my Slack logins because it's so convoluted.
As to why every organization has its own accounts, each organization has different people administering/controlling them, and separate accounts for different Zulip organizations is a lot cleaner of a security model, both for business customers but also for projects that are paranoid or opinionated about authentication options.
That said, we are planning to create a Zulip Cloud SSO option that would allow users in the many communities that aren't picky about authentication to use a single login for all their Zulip Cloud organizations. Feedback on how exactly you'd like to see that work is appreciated, especially in #feedback on https://chat.zulip.org, where it'd have the most visibility within our project.
Open organizations can also set any channel to be publicly accessible without logging in, which I'd expect to be useful for something like FUTO: https://zulip.com/help/public-access-option.
> That said, we are planning to create a Zulip Cloud SSO option that would allow users in the many communities that aren't picky about authentication to use a single login for all their Zulip Cloud organizations
Would this be easy and accessible for self-hosted installs? e.g., can self-hosted installs now use Zulip Cloud auth out of the box with no further setup? Maybe even have it enabled by default for open organizations? That seems to be the biggest problem with the existing social login schemes. Defaults matter a lot, and if Zulip continues to ship with "Slack-like" defaults instead of "Discord-like" defaults, it's going to continue to be just as frustrating to see Zulip links on org websites.
> Open organizations can also set any channel to be publicly accessible without logging in, which I'd expect to be useful for something like FUTO: https://zulip.com/help/public-access-option.
Again, I understand that this capability exists, but it's very complicated for administrators to enable, and requires an explicit opt in for EVERY individual channel that is made public in this way, which means in practice it's very rare.
Having a good web-public organization requires a long list of steps:
1. manually editing the server config files to enable the feature.
2. having an administrator enable the option for the org.
3. having individual users remember to set channels as web-public every time they create them.
4. having an administrator audit popular channels and make sure they're set to web-public if necessary
I think many organizations would be better served with a "public channels are web-public by default" option that does NOT require editing config files or manually changing settings for every individual channel.
The distinction between "this channel is public and anybody can sign up for an account to read it" and "this channel is public and anybody can read it" is very, very slight and while I can see the value of making that distinction on an org level, I do not expect 95% of open-source orgs to have the policies / guidance necessary to enable users to confidently make a fine-grained distinction on a channel by channel level. This means that the distinction between public and web-public adds a lot of cognitive overhead and basically leads users to choose between those privacy types at random, unless their org has a "all channels must be web-public" or similar policy (like rust-lang does). In fact, checking the docs now, it looks like normal users can't even create web-public channels, so other orgs can't even replicate rust's policy without restricting who is allowed to create channels.
Unfortunately, both of these features fall prey to very common open source UX traps—having a bad out of the box experience (no SSO) ruin a user's first impression of your project, and having too many customization options, leading to user confusion on which settings to use when.
I don't think we have heard any of them from other users, so feedback including a specific example of an organization or user who struggled with this would be helpful for us to debug your experience with this feature. For the thread, my understanding of the situation is:
- The one-time setup steps for a self-hosted installation to enable web-public streams are a couple minutes of work, and to me seem immaterial compared to the minimum realistic effort for getting a server, getting a domain, transactional email provider, and SSL certificate, and then actually installing and configuring the server in the first place.
- The default stream type when creating a new stream is web-public if the feature is enabled for an organization, for users with permission to create them.
We don't allow normal users to create web-public channels as an anti-abuse measure. Trust me, you don't want it to possible for a threat actor to be able to sign up for an account in your open community, create a secret web-public channel with just themselves as a subscriber, and start hosting malware on your domain.
I hate when anti-abuse concerns limit our ability to design features in the most convenient way possible, but that's life building products for the Internet.
If anyone has ideas for how we can make this better, we'd love to discuss!
Coincidence? I think not.
This argument looks a bit silly when even the most cursory research would reveal that many major and widely-used open source projects are most significantly contributed to by people working for these "closed source tech giants".
> 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
https://gitlab.futo.org/keyboard/latinime/-/blob/master/LICE...
That reads to me that if I type a work email using this keyboard, that would be a commercial use and against the license which makes this a total non-starter.
a commenter with more patience than i have has posted a longer explanation at https://news.ycombinator.com/item?id=40835750 which i don't wholly endorse but which you'd probably benefit from reading
(as another commenter points out, futo's license is particularly broadly written, adding additional problems on top of the usual 'free for noncommercial use' problems)
Edit: specifically for non-roman chars ala chinese or japanese is where I tend to see gaps
Just a complete non-starter, as far as language support goes.
I will probably continue using it just to see where it goes.
Honestly, I wish FUTO didn't do this. When Louis Rossmann made a video about Grayjay he claimed it was "Open Source". When I looked at the license, it was something very similar to this. Now it seems both Louis and the website for this keyboard have been extremely careful not to ever claim the project is "Open Source" (which is a good thing, from my POV, as it avoids muddying the waters).
That being said, the concerns raised by Louis in that video which tried to address why Grayjay went for a custom source available proprietary license rather than an open source license were just weak arguments. There was an insistence that without the license someone would take the project, fork it, re-upload it to appstores under a different name with added advertisements and other bullshit. But I think in reality anyone who was planning to do that won't be discouraged by a restrictive license.
I also know of open source projects which are perfectly capable of being commercialized on the play store/whatever while being actually open source including the ability to re-distribute copies with the license checks removed.
A weird proprietary license all because of worries of things which can and will still happen but are very unlikely to cause the project to become unsuccessful regardless of if you have a legal stick to hit people with or not.
They might not be discouraged, but a restrictive license would provide recourse to stop them - with a less restrictive license they'd be fully allowed to do that.
Likewise if your open source project gets forked and redistributed with ads and other stuff onto the app store, it might mislead people in the short term but is likely not a viable long term strategy, especially if the ad ridden version is constantly out of date and missing features from the original.
On the other hand, if someone forks your project and does a better job of developing it than you, that's literally in the spirit of open source. If that entity then starts to distribute an ad ridden version, you are also welcome to merge all the useful changes they added to their fork and get on with life continuing to develop your ad free version which will likely quickly become more popular (even if all you did was re-distribute a more maintained version with all the ads removed, surely that's a good thing).
That is, unless you used the Apache 2 License and they licensed their contributed changes with something restrictive. Then you're screwed, just as is anyone who might want to pick up this project after/if FUTO stops existing.
I can see from the perspective of software which provides a networked service how developers of the software might feel "abused" because AWS or whatever starts selling their software as a service with no contribution back to the original project. But this is a mobile phone keyboard. No self respecting big company (except Microsoft, but they have no self respect so that rules them out anyway) would take an open source software project and re-publish a strictly worse version commercially. At least assuming you used an appropriately free license. To add to this, changes or improvements made by the commercial entity would be free for the picking for the original project.
Default good strong copyleft licenses are more appropriate for this kind of software, the Source First license as applied here appears to provide FUTO with very few actual benefits over something like the MPL2, GPL2+, etc in terms of discouraging corporations from re-packaging the code. It also does very little to prevent unscrupulous attempts to abuse the code to scam people into installing adware. The biggest impact it seems to have is simply in taking away user freedoms (which most users wouldn't have exercised, but which are still useful and important in the long term).
Yes. This is the whole point of the GPL and other copyleft free software licences. This is why people have been saying the GPL is so important this whole time. It seems lately more and more people are slowly starting to realise this. Makes me wonder why it wasn't more obvious before. Is it a case of "don't care until it directly affects me"?
That's basically the distinguisher between permissive licenses (e.g., MIT and Apache) and copyleft ones (e.g., GPL). With permissively-licensed software, forks can be other licenses, even proprietary ones, but with copyleft-licensed software, forks need to stay copyleft-licensed. This is why the FSF calls permissive licenses "pushover licenses".
I've been able to voice dictate in Greek but no suggestions or other features
The worst part I wanted to be noted is the keyboard layout switching method, in order for me as a user to press and hold the space and then while having one or two hands focused on the lower end of the device I need to reach out to the top to select the language by hand.
I would suggest implemented a different approach via Spacebar slide left/right or even a dedicated keyboard layout switch button.
After all that see if dictionary files can really be imported cause tar/gz or other archive files aren't working thru import.
Last I'd like to thank the developers of FUTO keyboard, I'll keep trying to replace SwiftKey with FUTO and when it l'll gets ripe I'll also jump on the donation / payment to the cause.
Keep it up !!
It will also do this even if you block the keyboard's internet access as it will use Google Play Services to send the telemetry data.
Previously discussed in this deleted reddit post: https://www.reddit.com/r/Android/comments/ymo3r9/deleted_by_...
At least turning off the "Share usage statistics" option in Gboard settings actually does opt you out...
> The telemetry sent by the Gboard application does not go directly to Google. Instead, the data goes through a service known as the Clearcut Logger within Google Play Services
To be fair, I have not tested whether Gboard continues to send telemetry to GPS even after networking is disabled on Gboard but there's nothing stopping that from happening from a technical perspective. This is because Android apps access GPS over Binder and Android apps can access Binder services even if they have no INTERNET permission.
it's the same as linking to your .exe or .img and saying "get it from microsoft/apple". no it's not. you are just using those platforms ability to handle links and extension of functionality.
it is in no way the validation from those platforms that wording like they do imply
Thanks a lot FUTO! CAN'T wait to see what you'll do next!
I hope their Keyboard is as good and provides decent multilingual support. Currently using Heliboard, and have to switch to a broken GO Keyboard install (dictionary is missing), that failed to properly clone from my previous device, whenever I want to type Japanese.
- clipboard suggestions
- emoji search
- gif search
- stickers
- Bitmoji integration
I habe to check if this is "open source enough" for my needs but glancing over the comments it seems to be completly source available at least which is great. If this turns out to be a decent keyboard I only need an open source text to speech solution and I'm golden.
Edit: tried the keyboard and I failed in adding the dictionaries I downloaded. And I failed to find language models for other languages, but the keyboard seems nice at first glance. Have to try it on a low end device to see how it really performs, but I could live with this
Edit2: oof seems a bit heavy. Phone feels warmer and battery usage reported by Android is kinda high. Have to throughly test the different settings and see how it affects battery life
Edit3: so the voice recognition is okish. If you don't say anything and press the circle it hallucinates something and it's a bit annoying that it only prints out the text after you are done talking, but it is usable. Now I need the ability to transcribe voice messages I get using whisper as well :)
Edit4: OK text prediction is really bad right now. I saw a function to learn from my typing behaviour (with the "eats batteries" warning attached), but hopefully it will get better through this
FUTOs swipe also feels great
This keyboard is awesome and I paid for it 10 minutes after paying for it.
do people really type numbers using a number row?
Weirdly opening the FUTO keyboard app makes Gboard the default, but hey, I know how to switch.
And yes, FUTO is absolutely worth it. Love the customizability for touch typing and the voice tying works great for me.
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.
Are you sure? https://gitlab.futo.org/alex/latinime/-/blob/9f70a84dc85830d... seems to indicate otherwise.
> and the "yes I've already paid" button works on the honor system anyway.
Then what's the license key for that you get when you pay?
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.
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!
Anyway thanks a lot FUTO is awesome!
https://www.law.cornell.edu/definitions/uscode.php?width=840...
Say I take the keyboard software/app _itself_, rebadge it as ohmykeyboard, then sell it for profit. I would be violating the license in that case.
Just typing with it and using it on a regular basis doesn't violate that part of the license.
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.
> You may use or modify the software only for non-commercial purposes
When one speaks of 'using' software, only one thing really comes to mind. Seems like an easy fix.
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.
> > 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.
What are y'all planning to do with the source that the license prevents you from doing?
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'd argue it doesn't do that, because of the third part I listed. There are antifeatures that you're not allowed to remove.
>commit 5b85311ab09ed4d8d3dacb235de77f7de8253b1b
> Author: Yohei Yukawa <yukawa@google.com>
> Date: Mon Nov 19 12:11:31 2018 -0800
> Move MODULE_LICENSE_APACHE2 to the project top dir
> In general files in LatinIME project should be Apache 2 license (unless some exceptional note is there). This is not limited to Java source files.
At first glance, this looks like someone took a FOSS project and illegally changed its license. Am I reading that wrong?
> 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".
>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.
> ...
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?
> 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?
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 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.
> 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.
Wait, "carriage"? Click on the source link and go up a level, and you'll see it's talking about transporting people and things in vehicles: https://www.law.cornell.edu/uscode/text/18/31. It's part of "18 U.S. Code Chapter 2 - AIRCRAFT AND MOTOR VEHICLES": https://www.law.cornell.edu/uscode/text/18/part-I/chapter-2.
This does not apply to software.
(I use Gboard with English and Korean and have to switch.)
Edit: there’s also a button to force the language if I want to override it. It also seems to read the text on screen or remember what apps use what language as it will auto-select the right language most of the time.
It also means things like you get all the diacritics from all of the languages when you long press.
I was studying French, while also working with several Polish people, so I set my keyboard to simultaneously English, French, and Polish, and then I was able to do French lessons without switching, and also able to write my Polish coworkers names easily.
Apparently latest version of iOS keyboard allows for this kind of language mix ( heard about it second hand from an iOS user)
But I agree with the main point, will wait for FUTO Keyboard to support multiple simultaneous languages before I try it.
I switched from GBoard because it's predictions for Arabic were horrendous, made swipe typing unusable.
(Although other than source-availability the other features come on the standard iPhone keyboard)
I would prefer an upfront cost and one that makes the product sustainable - instead of a free product with the danger of enshitification.