10 ms·
Gedit is unmaintained, some thoughts
- amirouche 9y ago> It is important to write more libraries, sharing the code and maintenance among several similar applications. It's not easy to write generic code.
- copx 9y agoMore importantly generic code is almost inevitably bloated, less efficient, and more complex compared to code which only attempts to solve the actual problem at hand, as opposed to attempting to provide a generic solution for all imagined use cases. A simple example would be a PRNG. Specialized version: int dice_roll = random(1,6); Generic version (this is from C++'s standard lib): std::default_random_engine generator; std::uniform_int_distribution<int> distribution(1,6); int dice_roll = distribution(generator); The specialized version does not cover non-uniform distributions, nor the use case where you need multiple PRNGs with independent states.. and is much simpler and more straight-forward because of that. Often generic solutions are the best trade-off in the end, but one should not assume that more generic is automatically better. I think the reliance of modern programmers on libraries which offer highly generic (and thus almost inevitably sub-optimal) solutions is one of the primary reasons for software boat.
- andrepd 9y agoHow do you mean, suboptimal? The fully generic version is 2 lines of initialization more than the restricted version. Is 2 lines not an accepted tradeoff for being able to change the engine, and crucially, to draw numbers from any distribution you want? Furthermore I bet the generic, templated version is as small and fast as a naive implementation. It's all templates so it's all static code generation.
- deleted 9y ago[deleted]
- gp7 9y agoC++'s rng is bad because it's very easy to set them up incorrectly, and people mostly do. See http://www.pcg-random.org/posts/cpp-seeding-surprises.html http://www.pcg-random.org/posts/cpp-seeding-surprises.html
- copx 9y ago>How do you mean, suboptimal? The fully generic version is 2 lines of initialization more than the restricted version. I.e. a 200% increase in code size! Now imagine that throughout the entire code base. > Is 2 lines not an accepted tradeoff for being able to change the engine, and crucially, to draw numbers from any distribution you want? It is a complete waste if you don't need that functionality. That is the point. Generic solutions solve problems you don't even have, and that comes at a price. >Furthermore I bet the generic, templated version is as small and fast as a naive implementation. It's all templates so it's all static code generation. You kinda missed the point. I did not even specify how random(a,b) was implemented, so making statements about the speed of the compiled code makes no sense here. C++'s templates are another nice example of the cost of generic code, though. They are one of the primary reasons why compiling C++ is so slow / resource intense. They have to be instantiated at compile-time again and again and again.. which is a non-trivial process, much slower to compile than a plain non-generic function call. Also they are historically infamous for producing hard to understand error messages.
- andrepd 9y agoThat is not a 200% increase in code size. It's a fixed two more lines of code, that may or may not translate into a bigger binary (if correctly implemented it probably doesn't, even if it increases compile time a bit). I mean that's just silly. I'll assume you write everything in one-liners, right, since for some reason you find it important to minimise the arbitrary measure of lines of code?
- chriswarbo 9y agoI tend to distinguish between two uses of the word "generic": code can be "generic" by providing hooks/parameters to override every decision, which leads to complexity and bloat, as you mention. On the other hand, code can also be "generic" by avoiding decisions, parameters and special-cases. An example of this is Lisp's use of cons cells to represent data: regardless of the contents, and what it's meant to represent, we can always use `car` and `cdr`; they're "generic". Compare this to a typical OO approach, like a `Customer` object with a `name` and `dateOfBirth`: we can't access those fields without either writing those particular strings (`name` and `dateOfBirth`) in our code; or use some complicated reflection approach to look up the names then use those to look up the data. Of course, it depends completely on the context whether to use special-purpose datastructures (e.g. custom classes to model a domain) or generic ones (pairs, lists, maps, etc.), but generic doesn't always imply bloat and complexity.
- carussell 9y agoExcept using only car and cdr does imply complexity—linear complexity; instead of being a constant-time operation, access to an arbitrary element in a list is O(n) with respect to the length of the list.
- chriswarbo 9y agoAh yes, I didn't mean "complexity" as "computational complexity"; I use is but rather as how sprawling and difficult to understand the code must be (we could regard this formally using something like Kolmogorov complexity, but I meant it informally). One advantage of "specific" (as opposed to "generic") code, like explicit constructor/destructor pairs (e.g. named properties and accessors), is that by forcing client code to choose one particular, specific accessor, we have a lot more static information to use for optimisation; i.e. we've encapsulated the implementation behind an opaque interface, which we're free to implement in whichever way makes most efficient use of the resources we care about.
- EpicEng 9y agoI agree with you in spirit, but yours was a poor example given the known issues with rand() and the fact that the C++ version is not at all difficult to use and accounts for rand()'s warts. Besides, writing a standard library is a great example of when you _do_ need to account for pretty much every use case and write sufficiently generic API's.
- jordigh 9y agoAlso by contributing to gedit (probably for free), you help this guy selling gedit on Mac: https://www.macupdate.com/app/mac/57936/gedit If you read this, please don't buy gedit there, there is a free (but older) version here: http://ftp.gnome.org/pub/GNOME/binaries/mac/gedit/ Well, looks like selling a newer version is something that's entirely marketable, then. Maybe contribute to gedit and try to sell an even newer version for Mac? Selling free software isn't a bad thing to do.
- camus2 9y ago> Maybe contribute to gedit and try to sell an even newer version for Mac? Selling free software isn't a bad thing to do. AFAIK Gedit is GPL, at least, I'm not sure how this guy can sell this software while not violating the license at the same time.
- Moto7451 9y agoPresumably he could ship it with a copy of the code and license and be in compliance, right?
- adtac 9y agoHe doesn't have to ship it with the code. He's only obliged to give a copy on request. And you're entitled to ask, of course.
- 0xcde4c3db 9y agoI think you and Moto7451 are both correct; i.e. doing either of those things would fulfill the source distribution requirement. What GPL does not allow is shipping binaries without source while honoring source code requests exclusively from your own customers. It's either providing them together to customers or providing source separately to anyone who asks.
- reubenmorais 9y agoThere's nothing about the GPL that stops people from selling GPL licensed code, you're just required to make the code available and follow the rest of the GPL requirements, which means there's nothing you can do if one of your customers decides to share your product with the world.
- tbrock 9y agoWow, I've often fantasized about maintaining Geary or Empathy (also on the unmaintained list). Gnome needs solid lightweight email and messaging clients but I'm not sure I have the time to do it. I find that, now that Gnome has builder, the thing holding me back is lack of documentation on how to get started with gnome dev (and use the numerous Gnome libraries). Earlier this week there was some talk on HN about google's kubernetes having "documentation for geniuses" but it seems pretty approachable compared to the Gnome stuff. I think it's mostly because I'm not a strong enough C programmer and it's a tall order to document things like GObject well for n00bs but if I knew how I worked I'd be happy to document it for others.
- zerocrates 9y agoEmpathy is unmaintained? I think of it as being practically brand new. The ongoing deaths of the legacy chat clients and protocols have clearly taken a toll on enthusiasm.
- iso-8859-1 9y agoAnd yet, irssi still lives :)
- wuch 9y agoMy impression was that gtk has pretty reasonable tutorials, at least for those languages with official bindings. Once you go through tutorial, you can examine gtk-widget-factory app and gtk-demo app for further ideas how to implement common stuff. Or just take a peek at source code of an application that does something that you would like to replicate, even if it is written in a different language the knowledge is easily transferable.
- denvercoder904 9y agoWhat are the qualifications for becoming a maintainer? Is the bar set high? Is there a vetting process? I am interested but I'm not sure they will accept just anyone as a maintainer.
- wolco 9y agoA person who has submitted some pr fixes and shows an understanding of the software stands a good chance.
- honestoHeminway 9y agoUsually it is the guy who forks the original, and gets burried beneath patches?
- ori_b 9y agoMostly, a history of sending patches.
- jancsika 9y agoYou should definitely send a message to the gedit mailing list mailing declaring your desire to take over maintainership. If nobody replies send to a more general Gnome list. I'd actually be interested to read a public reply to a potential maintainer for one of their unmaintained projects.
- tyingq 9y agoI wonder how often it's actually used. The niche appears to be "notepad for Unix like systems". Meaning some intersection between a person likely to use Linux as a desktop, but wants an editor mostly geared for the not-tech-savvy. Not discounting gedit, but it feels very narrow niche to me.
- Kluny 9y agoIt was my favorite text editor for Mac, 2010ish. Then an update broke it and it hasn't worked since.
- tyingq 9y agoInteresting. Curious what about it made it your favorite vs other available Mac editors. I'm not a Mac person, but my impression is that unix/x11 ports are generally not favored by Mac owners if there's a comparable native application.
- Kluny 9y agoSafe to say it was also the first text editor I ever used for programming. I think Learn Python the Hard Way mentioned it (for linux users), so that's probably where I found it. My memory's a little fuzzy, but I switched to TextWrangler after that and thought it was shit by comparison. Then I was on a PC at work and used Notepad++ for years and now I'm back on a Mac using Atom, Vim and PHPStorm depending on what I'm doing, and all three of those are probably better than gedit. Still have fond memories though. I guess it must have just been the clean simplicity of it. That was before I knew most of the keyboard shortcuts I use now, so maybe that's all it was.
- deleted 9y ago[deleted]
- wolco 9y agoI used it for web development on fedora machine 6 or 7 years ago. It's like notepad but with some features could be notepad++
- sandGorgon 9y agoA very good (and much faster) alternative is geany - https://www.geany.org/ https://www.geany.org/
- sparrish 9y agoI switched to geany over a year ago and couldn't be happier. Clipboard support in gedit just kept getting worse and geany is so much faster and less prone to crashes on very large files that would easily lockup and crash my desktop.
- binaryapparatus 9y agoSomething odd is going on with FOSS scene in general, for some time. I really don't like seeing great apps like gedit getting unmaintained. Crap like systemd gets ton of corporate funding, versus tens of really beautiful apps getting slowly neglected. Not a good direction in general.
- Eridrus 9y agoCorporate focus is almost certainly on Linux on servers rather than Linux desktops.
- binaryapparatus 9y agoThat is common knowledge but I am no so sure it is entirely true. Red Hat is very interested in GNOME, much more than say in MariaDB.
- pjmlp 9y agoRed Hat was one of the first Linux related companies to officially state that they were moving away from consumer market and focus on enterprise customers, as there is no money to be made trying to sell FOSS software to consumers.
- frik 9y agoSystemd is not good. It tries to solve too many things and tries to extend and replace more and more core functionality. So many security holes. In a year or two, we will look back and say it was a very bad timeframe and several bad decisions. Unfortunately both Debian and Redhat switched to systemd, meaning all distros based on them as well. Only a few distros are left, let's hope some sane people revert that hype.
- ZenoArrow 9y agoI've got no 'skin in the game' as I don't use Linux, but ask yourself, if systemd is so bad, why is it so popular amongst distro maintainers? There must be some things its doing right. Even if you don't like systemd it's still a good idea to understand those that do, if nothing else it'll make you more effective in a debate about it.
- eklavya 9y agoGnome needs a react native bridge.
- eklavya 9y agoDownvoters, please explain your view. In my opinion it's a future proof way of getting more mindshare and applications. The unmauntained apps list is not short.
- duskwuff 9y agoThe unmaintained apps list has exactly two things on it: GEdit and Empathy. How is this "not short"? https://wiki.gnome.org/Apps/Unmaintained https://wiki.gnome.org/Apps/Unmaintained
- eklavya 9y agoSorry, I meant prominent apps like geary (from a comment here), gedit and empathy. When I was using Linux those were big names and I couldn't imagine any one of them going unmaintained.
- devrandomguy 9y ago
- mechnesium 9y agoIt's pretty irresponsible to make something and then abandon it. It's like having a baby and neglecting it.
- progval 9y agoA baby will eventually grow and become mostly able to survive on their own. Gedit is now 18 years old, you can't expect its developpers to go on forever. Particularly if they now have actual babies and have less free time to spend on Free Software.
- bondia 9y agoOr use Kate instead :)
- khedoros1 9y agoDoesn't that pull in all the KDE libraries in the process, if the rest of the software you use is built around GTK?
- JdeBP 9y agoThe GNOME Editor is hardly a good place from which to cast such criticism, though. Gedit pulls in a whole load of entire external Desktop Bus services in order to work, and indeed a second Desktop Bus, not only some shared libraries inside the editor process. Moreover, that editor process isn't the one that one might naïvely think it to be. * https://news.ycombinator.com/item?id=13056252 https://news.ycombinator.com/item?id=13056252
- khedoros1 9y agoI'm making the assumption that most people who'd be using gedit are already running Gnome anyhow, and would already have all that stuff pulled in.
- andrepd 9y agoFor an actively maintained alternative (fork) to gedit, see xed: https://github.com/linuxmint/xed https://github.com/linuxmint/xed
- Rjevski 9y agoWhy would you need Gedit when you've got Sublime? 70$ and worth every cent.
- kstrauser 9y agoYou mean the one that's been in beta for the last 4 years without a stable release in sight? I like Sublime. I enjoy using Sublime. I paid for a Sublime license. Still, the appearance of its impending bitrot made me switch back to Emacs.
- Rjevski 9y agoTo be honest the Sublime Text 3 "beta" has been perfectly stable for me for the past 2 years.
- frik 9y agoI liked the Gedit from Gnome 2 and what shipped with Ubuntu 12, and 14. The Ubuntu 16/17 and Gnome 3 Gedit is crap. I hate the UI change. The removal of the menu, the ugly hamburger menu with few entries. Gnome 3 is like KDE 4/5 a trainwreck - instead of create a cheap ripoff UI, why not stay with what worked - Gnome 2 and KDE 3 were perfect, had a good UI, just slap a modern theme over. And the newer worse incarnation aren't even touch friendly, well like Win10 - ugly, slow - Win7 is the better one. Only Apple with macOS and Google with Android get it right, iOS6, iOS11, Android 7 all look great and modern, and the UI doesn't suck. I will install "Ubuntu Mate", it comes with Gnome 2 shell built with gtk3.
- wuch 9y agoI don't use gedit, but in general I like look and feel of GNOME 3 applications: * Emphasis on undo instead of confirmation dialogs. Though, some applications got implementation completely wrong. Contacts, I am looking at you. It delays deleting a contact instead of offering a real undo, which means that if you exit early no action is performed at all. * Different colors for constructive / destructive actions used consistently across applications. * Keyboard shortcuts window. Though, I don't understand why most applications insist on making it modal, which essentially prohibits looking at shortcuts and trying them out at the same time. * Headers bars. I prefer those over traditional menu bars, especially if number of different actions to perform is limited. Though, portability suffers as making it work in environments without client side decorations requires some custom code. Thus, if developer didn't take this into account it probably doesn't work. * In-app notifications (used for example for example for undo I have already mentioned). Though, AFAIK this doesn't seem to be builtin part of GTK yet and require a little bit more custom code than other widgets. * Empty placeholders! (Though, they might have been there already?)
- progval 9y agoYou can also use Pluma (Gedit fork by Mate's people) with any desktop env, including Gnome 3.
- squarefoot 9y ago"If you read this, please don't buy gedit there" The same misconceptions about GPL again and again and again and again. The gist of the GPL is to give more freedom by limiting limitations, that is, you can compile a GPL software and sell it for a trillion bucks and nobody -not even RMS himself- will bark at you, provided that if you made any changes to the software you make their source available along the compiled product. The GPL is not about preventing users from selling the software, but rather about preventing users from imposing limitations on other users, which is exactly what commercial software licenses do. You can download a Debian image, stick it onto a USB memory and sell it for 100 bucks, but you don't get the right to prevent me from doing the same, or even sell it at half the price. That's the way the GPL promotes both openness and competition.
- progval 9y agoThe author does not claim selling gedit binaries is illegal. Only that it is unfair. The rational is that it uses someone else's free (as in free beer) work and sells it with very little added work.
- pjmlp 9y agoWhich is why there is little to nothing money to be made with desktop related software, with FOSS development model.
- progval 9y agoOsmAnd+ managed to have more than 100k paid installs (according to Google) while being open source: https://play.google.com/store/apps/details?id=net.osmand.plus https://play.google.com/store/apps/details?id=net.osmand.plu... For most people, it is easier to pay than to compile software.
- pjmlp 9y agoAndroid is not a desktop and has a store model.
- 9y ago
- stuaxo 9y agoI see empathy is on the list of unmaintained software - it replaced pidgin (which is still maintained), and is now itself maintained. Maybe the lesson on that one is to work more with external apps instead of replacing them.