Xi-Editor – Modern editor with Rust back end
github.com
github.com
Syntax highlighting is not working, largely because I can't figure out how to compile onig. But we'll figure that out one way or another (if it's too hard, we'll switch to fancy-regex, which is pure Rust).
https://news.ycombinator.com/item?id=9113515
The reason I've always seen about companies not liking the GPL is that they want to be able to make closed source versions of software. If there was some risk that once you submit code to a GPL project you've donated all your patents to the world it would be a risk with BSD and MIT licensing as well.
The 2-clause BSD grants only copyrights in clause one, and disclaims any other grant or warranty in the second clause.
I can't imagine how to get from that clause 2 explicit disclaimer of other rights to an implied claim of other rights.
What I find there pro your side is actuallly just the pure confusion of copyright grant with patents. Nobody denied that copyright licenses were being granted.
"The BSD license normally includes an implied patent license."
It couldn't be clearer. You can disagree with him but that's what's being said and is apparently a consensus among open source lawyers.
"Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code."
I've read the license many times. Never helped my blood pressure to do so, though.
N.B. - this applies to hardware patents not just software patents. You get to build whatever hardware is needed or helpful in running the software regardless of patents if the owner was foolish enough to contribute to the software.
I'm fine with requiring contributors to state whenever they are submitting anything patent-dependent, and not accepting code if the tech isn't interesting or useful to users.
If you don't care about that part (not encumbering down stream users with licensing issues) - why use free software at all?
Then anyone can copy your hardware designs for free and sell those machines, too - as long as they include the GPL software.
Would courts actually enforce that? The vast majority of corporations act as though they would and won't use or allow contributions by their employees to patent-grab licenses.
(The Linux kernel is a special case with "stranded rights" since the kernel can't function alone - which is why Google spent billions to reproduce the GNU libraries with a freer license, but didn't have to replace the kernel at the same time - they're doing that now with the Fuschia project.)
Dragonfly BSD, etc, is safe and perfectly usable as long as someone is selling hardware that's licensed, say by Intel or Qualcomm.
Well, yeah. All code is subject to copyright too. But you can avoid having that copyright encumber users by using a Free license. Now why would you not want to free users for patents that pertain only to the code you're giving away/sharing under a free license?
If you contribute an image codec, people can safely use that to build on. It will not grant them a patent to your other hw patents, like an ISA or office chair design or image sensing chip.
Sure, if you're Fraunhofer living off of mp3 encoding licenses, you might not want to give away what you're making a living off. But then you'd probably not give away a software encoder either. And sure, if you did, you'd probably chose a hostile license that allowed you to keep enforcing your patent.
And, if you contribute something else, like a load balancer, and the FSF write something like lame, and you sue the fsf - you won't be allowed to (at no cost) continue to violate patents covered by the loadbalancer, assuming the fsf holds a patent that covers some aspect of that.
I still don't see the problem?
If you don't want to share code, then.. Don't? But if you do, share in a meaningful way?
Note that sharing any code of any kind - including irrelevant to your patents, allows others to use any patents you have. [edit, other licenses, I stand corrected]
But:
> Note that sharing any code of any kind - including irrelevant to your patents, allows others to use any patents you have.
No? Not "any patents"? It explicitly grants right to use patents needed to run the code?:
> Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted.
Now, if you have mp3 patent, someone else writes an infringing implementation, and you then contribute a patch - then yeah, you'd have granted everyone use of that patent.
So, if you wanted to enforce that patent, don't give away a patent license for free?
GLP recognizes we're standing on the shoulders of giants.
I agree, a solution that solves both freeloading and doesn't grab others' quite separate property would be good - but that's not the GPL that was created, and GPL certainly hasn't prevented freeloading.
Maybe you've got something awesome here, but you had only a few seconds to catch my interest with your subtitle, and you instead used it to tell me what part of it you love rather than what part of it I will love. Don't do that.
The primary audience of neither HN nor github is 'end users'.
> Don't do that.
I don't know exactly how this fashion of people phrasing their personal suggestions as imperious commands started, but I'm looking forward to its inevitable demise.
Bulletpoints not related to rust itself, and that will lead to features/usability/accessibility/"many other things" but are not there yet:
* Client-Server architecture
* Server has core editing logic, and provides a JSON based RPC interface. I forget if it's HTTP or stdout.
* Client can be written in any language/UI Framework that can talk to the server.
* Plugins can be written in any language that can talk to the server.
* Uses some fairly efficient data structures and a fairly efficient language, so it's likely that when it's done it will perform quite well. Did I put enough weasel words in there?
It's a very interesting project but if your goal is a usable editor you should probably use one that works and has an installer/package in the repo.
That's great advice for production software.
At this point, it looks like the editor is firmly Alpha quality, and they probably care more about new contributors than new users. I'm sure they'll update their messaging once they're more polished.
(I'm not the one who posted this, but I was a Xi contributor)
As far as I can tell, this editor is aimed at tech savvy people like developers, sys-admins etc. They may not care about the exact language or framework, but I can assure you, they do care about things like security and performance.
Rust is one of the most discussed topics in the developer community these days. I can’t fault the OP to use it to highlight the post. Had they said something else, I’d likely have ignored it as Yet Another Text Editor like Visual Studio Code, Sublime Text, Atom etc. IMO, they did a good job highlighting how it is different.
However, it's also likely that even naive end users who want reliability, security and less downtime may one day reasonably prefer Rust-based software, or insist on it, particularly as all software becomes more complicated.
After all, battery manufacturers keep telling me their batteries are "alkaline." Do they think I'm a chemist? No, they think I can count hours of use and one single technical word tells me a lot about that.
So I created: https://github.com/google/xi-editor/issues/668
Depending on which frontend you pick, you might, emphasis on might get the following features:
* It launches.
* It renders an interface.
* Pressing a letter inserts a character.
* There is a cursor.
* Pressing a key moves the cursor.
* You can open files.
* You can save files.
I don't say this to be rude to either you or the project authors or maintainers. I just want to be clear that it's very, very, very early on still, and the core functionality is still being worked on.