HackerTrans
TopNewTrendsCommentsPastAskShowJobs

crashdancer

no profile record

comments

crashdancer
·2 years ago·discuss
I just realized I forgot to mention this before: that shim actually did exist for about 10 years. It was deprecated in GTK3 and then finally removed in GTK4. If 10 years is too short a warning to give for removing a deprecated API, and this offense is apparently so bad that it ruins the credibility of the whole project, then I really don't know what could be expected of the maintainers.
crashdancer
·2 years ago·discuss
>Having a compatibility shim in GTK and testing that, once, would save any downstream user from having to do any work at all for this change.

No it wouldn't, the downstream users would still have to test. Because in practice there are a lot more changes that need to be made than just the names of those widgets. This is one of those spherical cow situations. It would theoretically save time if apps only used the box containers and never called any methods on them but that's not how real apps are actually built.

>Why would a project deliberately cause such breakage when it didn't have to. It's because it cared more about making a "cleanup" than it did about breaking it's entire userbase. It's cosmetic at best, and it could have been implemented without any break at all with a bare minimum of effort. That's the real kicker. The change could have been made without any compatibility break. And that just shows a complete lack of care.

No, this is all wrong. The container widgets were refactored and heavily simplified in GTK4 to make the API easier to use and maintain because the class hierarchy was getting too deep and complex. Along with that they changed the names because there was a break in the underlying APIs anyway so it was a perfect opportunity to simplify the naming as well. It would not have helped at all to make such a tiny shim, that wouldn't even cover the most basic use cases. Like I already said the shim would have to be much larger to be anywhere close to being useful.

>And no upgrade path for Glade/GtkBuilder XML either.

No, there is an automated converter for the XML.

>And this is just one example of breakage. You have to multiply it by all of the others, too. The ongoing burden of unnecessary and unproductive work repairing breakage arising from API churn is extraordinarily costly. Plus, it also breaks compatibiity of our application code with older GTK versions, which we might well also need to support in parallel for years. None of this adds value to our application, it's all cost.

Then by all means, don't update the GTK version. The reason to upgrade is if you want the new features in the new version.

>You've not once shown any concern of any sort for the actual real-world problems which have been imposed upon others

Actually I just asked for some examples of real-world programs that are having this problem, if you could post the repositories then we can talk about them.

>And I'm not new to this. I've used GNOME since pre-1.0 and developed with GTK+ since the 1.x and 2.x days. I was using GTK+ for commercial products two decades ago. It was barely viable then, and it's many times worse now.

Unclear to me why you've been using GTK for 20 years if it's really that bad.

>The primary concerns of these libraries should be API stability and implementation quality

No not really. The developers can choose that concern but they don't have to. Some projects focus on stability, some focus on getting more features out the door, some focus on other things. I can't explain everything about GTK's decisions but I know that like most open source projects they have to make decisions that encourage certain types of contributions, sometimes that means they have to trade stability. And that also means if you see something that's low quality that you can fix easily then you should start contributing or fork the project, instead of demanding that the maintainers do it for you.

>If GTK wants to be considered seriously, it needs to behave seriously. And you need to actually listen and understand what people are telling you.

I'm not a GTK maintainer so I'm not even the person you would need to convince here. But I am listening to what you have to say, that's why I can tell you with confidence that it wouldn't have helped to make that type of shim.
crashdancer
·2 years ago·discuss
>Also your focus on the form and the distinction between the GNOME Desktop and the GNOME Foundation is deflective when we are primarily talking about user satisfaction for which you made no argument at all besides your personal anecdotes.

There's no argument to make, user satisfaction is entirely subjective and it depends very much on which users the maintainers decide they want to pursue. It's well within their means to decide they want to change or shrink their userbase for any reason. And plus it's open source so even if that happened it may not be a problem because any person can decide to start contributing or fork it, thus bringing in new users if that's what they want.

>Why is GNOME considered so great?

These type of questions are a lot more interesting questions for me to answer, I wish you had asked these earlier. I don't think I would argue it's great, but I think GNOME is popular because they have a mostly complete platform. The quality of individual parts may vary but the whole is greater than the sum of the parts. Otherwise known as network effects. And I would say the same thing is true of Windows or Android any other major desktop OS that are their own platforms.

>Why are 8 of the most downloaded/popular extensions designed to rectify the bad decisions made by the GNOME development team?

Not sure I understand, are you criticizing GNOME for having extensions? Again "bad decision" is completely subjective, that's why you can choose which extensions you want to install or not install. That's why KDE also has extensions.

>Why are there countless forks?

Well no, currently there are only two notable forks, MATE and Cinnamon. And I wouldn't say either of them compete directly with GNOME, they have different goals. But also, any popular open source project has forks. If you want something that actually has countless forks, see the Linux kernel.

>It's not prejudice; it's a consistent reaction from multiple people in this thread to your comments. You might want to reflect on why that is and consider how your responses might be perceived

In this thread I've been on the receiving end of a bunch of conspiracy theories and gaslighting so I don't consider that type of reaction to be reasonable or worth reflecting on, it's not even appropriate to post that stuff on this website.

>No one is suggesting that you represent the entire GNOME community—just that your behavior reflects poorly on its less favorable aspects.

No sorry, I have to push back again here. I could sum up my view as "GNOME is not that bad" and I really don't think that's any kind of notable behavior, or something that reflects on anything, or even fulfills this abstract idea of favorability. I couldn't care less what transgressions other community members did either. Come on, what am I supposed to do here? Go looking through years of IRC logs and Twitter comments reading flame wars, to make sure I don't accidentally say something similar to what somebody on "the wrong side" said in the flame war? To be honest I had a period in my life where I really didn't like GNOME at all and I probably said a lot of the same things being said here about how bad it is!

>What would be an acceptable way to express this sentiment while maintaining the same level of concern?

How would such a concern ever be quantified empirically? And who decides just what the community is? Is that anyone who's ever tried Linux once in their life? Or do they have to have used it within the last month? Year? Decade? I could go on here, whatever we come up with is a likely minimum of millions of people, can any of us conclusively speak for all of them?

See what I'm getting at here? The statement is so vague, IMO it doesn't actually communicate any information and it's just going to inflame. The users who think GNOME is terrible already agree with you and will only be riled up by hearing that. The users who are happy won't learn anything new from being told that and they'll think you're being a bit of a jerk by suggesting their feelings are wrong.
crashdancer
·2 years ago·discuss
> I was expressing my personal frustration and disappointment

I understood that but that's different from saying everyone is being done a disservice. When you say that, what you're actually doing is accusing them of doing mass harm to the community -- I hope you can see how that's a serious accusation that's separate from your personal frustrations.

>Open-source projects thrive on feedback, both positive and negative. It's through these discussions that developers can gauge user sentiment and make informed decisions.

The feedback has to be structured in the correct way so developers can prioritize issues and turn it into a development plan. If it's just complaining about attitudes and making generalized statements, or constantly trying to renegotiate the direction of the whole project, that stuff doesn't help.

>It seems that your feelings about "my desktop" and your emotional investment in gnome are clouding your judgment, preventing a balanced perspective.

I don't have an investment any more than anyone else who just uses Linux for work/hobbies and is more or less fine with it, actually I probably have much less investment (both financial and personal) than the stereotypical techie who buys a new iPhone or Tesla or something and gets really into it.

>If this is the sort of interaction people have with gnome enthusiasts or developers (whatever you are with your throwaway account) you can see why most people don't like to work with the community you are representing here.

Please notice that you're demonstrating extreme prejudice and creating a vicious cycle here: someone makes some negative comments, I lightly push back on them, then somehow not only am I the bad guy but suddenly I've been elected as representative for the entire community and the entire community becomes responsible for my actions too! The subtext here is that I just shouldn't say anything or express my opinions at all because by the simple act of doing that, all the past disagreements and flamewars going back decades are now my fault too!
crashdancer
·2 years ago·discuss
No, that's incorrect. It's not more efficient at all, and even if it was it would still be less efficient to do it in the toolkit instead of in a separate shim. I explained this in detail in my other comment.

Also the testing and validation always needs to happen irrespective of where the shim layer is shipped, because this is still a new major release of a relatively large library. Having a shim for one widget out of many isn't going to meaningfully reduce the need for testing.

If you could mention what these programs are that are somehow completing the rest of their GTK4 ports in a small amount of time, refactoring everything to use the new improved widgets and rendering system at incredible speed, but are taking hundreds of thousands of man hours to replace the word HBox with Box, maybe someone can look at them and advise them on how to do that faster.
crashdancer
·2 years ago·discuss
[flagged]
crashdancer
·2 years ago·discuss
None of those apps need a tray though. Personally I have no problem using chat and email apps with only notifications. Something not being to your liking does not mean it's sabotage.

>what GNOME did was to try and force everyone to use the GNOME

I would be very interested to know if you could give a source for this accusation. Just show me one comment from a GNOME maintainer saying they are trying to "force" everyone and how they planned to do it. If they were going into homes and offices holding people at gunpoint forcing them to install GNOME then I think everyone would have heard about that by now.
crashdancer
·2 years ago·discuss
If their funding source went under then I imagine they would start another one or try to get picked up by some larger organization like Linux Foundation or SPI. So no I don't think it would be that much of a problem.

>but it's nice that you can have your opinion, while mine is considered void.

It's perfectly fine to not like GNOME but wishing for them to be destroyed is a hostile and destructive opinion. If you don't want negative reactions then please try to recognize when that happens and just don't say those things. I don't wish that your preferred desktop get destroyed, is it too much to ask for you to stop wishing that upon me?

I mean, come on. Of course there is a repeating pattern if you insist on saying nasty things and then you find people always get upset at you. What did you expect would happen?
crashdancer
·2 years ago·discuss
I don't have any relationship or agenda. If you really want to know, I had an account here long ago but I received some very rude, hateful and harassing comments so I stopped posting and then lost the password. Is it that much of a stretch for you to believe there's a GNOME user who isn't angry at the developers and doesn't share your opinion? I don't get my FOSS news from social media. I read the developer's blogs and announcements directly and I don't assume they're lying or trying to hide some secret evil agenda, perhaps that's why you see contrasts between my attitude and the attitudes of others?

>You seem to dismiss everything everyone else is saying.

But disagreeing with something is not a dismissal. In cases where I disagree I'm careful to state the exact reasons why and discuss, or present some facts or explanations that someone may have overlooked. That's how to keep the discussion engaging even if you disagree. I'll only dismiss someone if they're intentionally rude. And this comment is against this part of the guidelines: "Please don't post insinuations about astroturfing, shilling, brigading, foreign agents, and the like. It degrades discussion and is usually mistaken." I don't have any way to advance the discussion when you do that, it's personally attacking and putting me on the defense when I haven't done anything but state my opinion. Can't you see how that becomes a way to systematically shut down discussions and make them hostile, when someone constantly throws those accusations at strangers?

>Considering the history of attitude of Gnome developers towards users and their requests

There is no free software project anywhere that is obligated to honor any user's requests. If you have a problem with this, you should not use FOSS. But if you absolutely need someone to honor your requests, you need to pay them and get the contract in writing so they're legally required to do so.
crashdancer
·2 years ago·discuss
>The end user of the kernel -- user space -- never sees any of this

I mentioned it because despite that difference I don't think it's practically much different from a developer perspective. Big changes are still about as organizationally difficult for kernel developers to do. If someone wants to deprecate something that a lot of other people are using and it's a lot of work, then they still have to convince everyone to go along with it, get them onboard with the new API and help out with removing the old API, etc. That's the actual hard part, sometimes it can be made easier by providing a shim but often it's not.

>the userspace API never breaks

This is an aspirational statement, not a rule. It has been broken lots of times. The userspace API in Linux is not just the syscalls. Effectively it encompasses every single thing a driver does and exposes in some fashion to userspace and a number of other things as well. Whether that be ioctls or other non-standard interfaces exposed by block devices, sysfs entries, procfs entries, other pseudo filesystems, netlink events, configuration files, low level userspace libraries like libselinux and libseccomp et al that technically aren't part of the kernel but the kernel developers encourage everyone to use them anyway, util-linux and other utilities of that nature, you get the picture. This stuff changes all the time and it's not even possible to keep it all stable forever because it's such a massive amount of code.

>You're implying this is equivalent to GTK and Gnome intentionally breaking API with every major release for every applicaton that uses those libs. It is not.

Yes you're correct that it's not exactly the same but I'm implying the exact opposite: The GTK and GNOME changes are actually much less of a problem! You can have many versions of those libraries installed at the same time. You can't easily use many different kernel versions at the same time.

>Frankly it's a bad faith argument.

It's against the guidelines of this site to make this kind of statement. And quite frankly it's very uninteresting to respond to. You can make your point without this.
crashdancer
·2 years ago·discuss
>GNOME is most people's first experience of a Linux desktop.

Perhaps that's proof that it isn't as bad as the vocal minority says it is? And if it was really that bad, wouldn't that be the distros' fault for continuing to ship something they know is bad? I don't think you can spin this in any way that makes it GNOME's fault, they didn't force any distros to make it the default.

>If you have an issue with GNOME and you search for it online, not only are you likely to find it's a known and often long-standing issue, you're likely to find it being either closed or ignored so you know there's no point even trying to file it again.

At that point the correct course of action is to fix it yourself or fork it. This is the same as any other open source project. I've had plenty of other open projects close or ignore my issues too, welcome to the club. I don't understand how you can be a developer yourself and still hold GNOME to this unrealistically high standard.

>GNOME developers cannot then turn around and use extensions as an excuse to actively remove working features or dismiss requests for features now standard to every modern DE.

Yes they can? It's their project, they can remove features or dismiss requests for any reason they feel like. You can also do the same in your projects.

>But when user experience is on the line, you have to actually listen to user feedback and make some tough calls that favor users.

No you don't? How many posts have we seen on HN about startups cancelling projects or shutting down because of management or money problems? Nobody likes to make those decisions, it makes the users very angry, but companies have to make them all the time because they have no choice. I know people like to fantasize about open source being different but it really isn't different. If the company employing the maintainers can't figure out how to profit from a feature then it most likely will get ignored or removed after a while. The Linux desktop is also notorious for being a pit of money that nobody can figure out how to profit from hence why a lot of user feedback is just noise. Look at Ubuntu Unity, that was beloved by its users and still it got abandoned because it wasn't profitable. I always found it weird that GNOME has this reputation for making radical changes when I find them to be quite conservative in some areas and reluctant to make changes that would result in the project totally dying off like that.

>At the very least you can't blame the users for reporting the experience the users had, especially when GNOME has already made sure that filing issues constructively is a waste of time so venting on HN is all that's left.

No, this is wrong. I'll say it again, you have the options to fix it yourself or fork the project. Venting is not the only option left and in fact venting is a completely useless option. I've seen so much venting about this on internet forums over the years, it's all the same comments about the same issues and none of it has changed anything in meaningful ways. The bugs that actually do get fixed were because somebody put in the work with the other maintainers and got it done, at no point were they ever helped by somebody ranting at them about how GNOME is bad.

>How many of those things would you say to a brand new Linux user who tried GNOME in earnest and filed a well-meaning bug trying to participate in the community constructively without being a developer?

I wouldn't, I only say these things on HN because the audience here is hackers. All the time I tell new Linux users to use Cinnamon or KDE because those are a bit more familiar to Windows users.

It's actually extremely disappointing to see developers on this forum repeating the same conspiratorial comments and unrealistic demands that you see elsewhere. Just so you know, at one time I made many of the same comments as you. I hated GNOME and refused to use it. Complainers have been saying the same things for decades now every time a new version of GNOME comes out. I was one of them. But still GNOME has lots of users that actually like it and swear by it. So what's going on here? Maybe it could be that the developers who hear feedback from a large sample of representative users on a daily basis might have a different perspective than everyone else? Maybe consider that your view is biased by only reading bugs that you noticed aren't fixed over long periods and are therefore difficult or unrewarding to fix? I know my view certainly was biased when I said those things.
crashdancer
·2 years ago·discuss
That's why I asked you some questions. If you don't answer my questions or clarify anything then there isn't any other way I can understand your point of view, sorry. You are the only one who can explain yourself.
crashdancer
·2 years ago·discuss
Sorry but that's a really poor example and IMO not a valid complaint. I don't think they made the wrong decision there. There are quite a lot of other API changes in GTK4 so some tiny shims for only a couple APIs wouldn't help in porting at all. It would only create confusion because there would be two APIs for the same thing but now it's even more unclear when the old API is going to be removed. The argument you're essentially making here is "keep deprecated APIs around forever" which isn't realistic. They're deprecated for a reason, if you never remove them then deprecation isn't meaningful anymore.

Also you're incorrect that it would be "just a few lines of code." Those things are GObject classes which can be referred to in various ways through the runtime system or by language bindings, it's not just a matter of creating some aliases for C symbols. If you only use those in such limited ways that a tiny shim would do the job, then it would be just as easy and more beneficial to create a small script that does search and replace on your entire project.

It would be entirely possible to create a larger shim to ease porting, and keep it outside the main project so it doesn't cause confusion. But for it to be truly useful, someone would have to put a lot of thought and effort into making it work for a good portion of the APIs that changed. Then it would have to be tested thoroughly with all the language bindings. It's a way bigger project than just shipping a couple of #defines in a header. And if it did exist, it too would get deprecated and obsolete at some point when all the apps finish their ports to the new version. None of this is a new idea -- all this I'm taking about is exactly what Qt already did with Qt5Compat. It could be done in GTK as well but some interested party needs to make it happen. So far, no one has cared enough to put their money where their mouth is and actually do it.

BTW even the Linux kernel does a thing now where they don't use deprecation attributes in the code at all anymore. If a kernel developer intends to remove an API then they just delete it and fix the build. Because in practice it's actually much worse to keep an API around for long past its expiration date and annoy everyone with deprecation warnings.
crashdancer
·2 years ago·discuss
I can't agree with that, Wine has been around for a long time and it never really took off for that use. IMO the future of cross-platform is still the web, because "cross-platform" also includes smartphones now.

>Neither the app image nor the windows version on Wine.

That is more the developer's fault. AppImage is a very broken distribution method and IMO it should never be used.
crashdancer
·2 years ago·discuss
>This thread is full of people trying to share experiences that you seem to not allow, Gnome 2 themes working well (for them) being one of them.

The mistake you are making here is that someone not experiencing a bug does not invalidate the existence of that bug. You can be using a feature and it can be working okay for you but if it causes bad problems for lots of other people or causes maintenance issues then it will get the axe. This is not to disallow your experiences, but to say there are reasons the developers may not consider your experiences to be representative of a typical experience, or ones that are even worth acknowledging. Because ultimately the developers are the ones who have to listen to all the complaints from everybody and decide which ones are valid -- users can't and don't do that, if they did then they would be developers.

>Considering Mate and Cinnamon still exist and are healthy projects would indicate there's many developers who share this sentiment.

That doesn't indicate it though, Mate and Cinnamon don't use GTK2.

>Nobody maintains older versions of KDE, apart from a single distro using Trinity (KDE3).

But you just disproved your own assertion with an example! If there's one even example then that means a certain percentage of users aren't happy.

>I wasn't, and very few are, treating developers hostilely,

I can't agree with this, I have read several hostile comments in this thread accusing GNOME developers of "sabotage" and things like that. I apologize if you aren't doing that.

>is not our fault or responsibility.

I can't agree with this either, if you aren't even using GNOME but you continue to complain about it then that is completely your responsibility. At some point you have to accept responsibility for your own choices. If that means you have to pick up GTK2 and fork it then that's what you have to do. You can't fault GNOME for not doing that just to please MATE users or whatever it is, when those users would probably still be unhappy with modern GNOME anyway.

>nowhere did I write that Gnome2 was bug free.

But that seems to be exactly what you were suggesting in regards to themes? What am I missing here?
crashdancer
·2 years ago·discuss
>To me, most native apps look out-of-place and I avoid if possible

That doesn't make sense, "out-of-place" here means with respect to the rest of the system and the shell. Doing things that way is guaranteed to result in an inconsistent desktop, so maybe you can understand why that won't really be a supported thing.

For a while I actually used to do something similar to what you're doing. In the early 2000s when OS X was the new thing, I had gotten used to the Mac. So for a while I would only use Qt apps with a Mac-style theme and I would get really upset if something didn't work with it. But I stopped eventually because I realized I was being unreasonable and frustrating my own computer usage for no benefit. IMO it's helpful to recognize when you're in a harmful thought process and break out of it.
crashdancer
·2 years ago·discuss
The themes didn't work well for me and I've talked to lots of other users who had the same experience. It was a broken feature and it was correct to remove it. If you're denying my experiences and telling me they're not real then you are the one who is pretending to speak for other users of GNOME. So please cut that out.

I don't follow development closer than anyone else, I just periodically read the dev blogs and changelogs like any user should. The difference is I don't assume that developers are hostile entities that are apparently spending all their spare time being passionate about their open source project just to annoy some users? Come now, think about it, isn't that a ridiculous notion? I mean really, I'm complaining about a broken feature and you're saying that's damage control. Wouldn't it be more "damage control" to insist that GNOME 2 somehow fixed all its theming bugs by doing something mysterious and unexplainable that no one can figure out 20 years later?

When I comment I try to counter the negativity and focus on making constructive comments, I strongly urge you to do the same. It's not like the developers are aliens that can't be understood by mortal humans, if you really need something explained you can just go in the Matrix channel and (respectfully) ask them questions.
crashdancer
·2 years ago·discuss
Yeah and I'm saying that's not a bad thing or even a rare occurrence. Sometimes PRs can be de-prioritized or forgotten for reasons that are outside of anyone's control, developers are human beings so that just happens. I've seen it in lots of open source projects.
crashdancer
·2 years ago·discuss
You shouldn't avoid discussing what happened, I'm saying you should avoid making unfounded bad faith accusations.

>We can all see with our own eyes how much GNOME cares about collaboration and interoperability with others. It's zero

I mean, the blog post disproves this entire accusation by listing a bunch of projects they collaborate with. This is what I mean: please be more careful with your words. You're disrespecting yourself and the readers of your comments by making these kind of hyperbolic statements.

>which repeatedly requires every application developer to down tools and do a lot of busy work rewriting perfectly working code when APIs are changed or deleted. No other GUI toolkit causes so much pain and disruption to their userbase

GTK isn't the first or only project to deprecate and remove APIs, Qt does is it in every new version too. And you don't have to do this unless you're upgrading to new versions. Some projects are still using forked versions of old Qt and GTK for these reasons. That's totally something you can do.
crashdancer
·2 years ago·discuss
It is in the normal control panel, see "Reduce Animation" in the accessibility page.

>All I want is literally the widgets Windows had 20 years ago in all platforms.

This seems to me a very bizarre request. I mean, you can literally do that already: write Windows apps using the old user32 APIs and run them in Wine. But then they will look and behave really out-of-place on non-Windows platforms when all your other apps are using the native toolkit.