The case for Linux/BSD-only GUIs?

All GUI attempts in Rust I have seen place emphasis on cross-compatibility, however I wonder if there is anything to gain from specializing in libre operating systems instead of trying to provide all-in-one solutions.

Pros of Linux-only:

  • Potential for specialization
  • Shortening of development time for both the framework and apps built with it
  • Encourages people to use Linux/BSD
  • Discourages people from using proprietary operating systems
  • Gives libre operating systems more of an edge in the market through exclusivity


  • Prevents people who genuinely prefer Windows/Mac from having access to OSS
  • Prevents users of apps unaware of OSS from being exposed to it
  • Prevents members of the OSS community who run Windows/Mac from using the framework

The thing is, the only people who bother using GTK these days are people developing for Linux, even though it is technically cross-platform. The case may end up being true for many current GUI attempts, despite their time spent on cross-platform support.

However, trying to "support freedom through exclusivity" may be akin to Stallmanism, so not sure it's a good direction to take.

I don't understand what you mean by "freedom through exclusivity". Or what it might have to do with Stallman. His Free Software notions, the GPL and all, seem all inclusive to me.

Any practical decision is going to hinge on who you're trying to target or what you're trying to accomplish.

If you're talking about swaying the general public, convenience is a much higher consideration than the openness of the underlying source code. The ratio is approximately infinity in my experience, even amongst people aware of the difference and on board with the goals. I have no idea how one might change this, but I doubt writing any number of programs is going to do it. It's more of a political or social issue.

E.g. an OSS GUI app that would make people flock to Linux today? Even if it got enough popularity for the general public to notice somehow, it would just ported to other platforms (or independently recreated) before that happens.

If your main concern is just that more people use OSS in any form, you'll want to run on as many platforms as possible. By the numbers, you should actually target non-Linux first, in fact. (Unless you happen to be targeting one of the niche markets with a lot of Linux users, but then those people are already OSS users.) Or how about an OSS GUI platform for use in consumer electronics? More of a case to be made. The cost and convenience equation is much different for that market. But again, almost no end user is going to care how open it is.

On a technical note, the nature of the application is also a consideration. Only some sorts of programs are "worth" running as a desktop application now; others have been usurped by running a mobile app, within the application platform we still call a browser, or some combination of the two. If there's a chance your app could run in those environments, you probably do want more of an OS neutral approach.

If you're talking about more of an ethical or personal decision, that's a different conversation again.

I'm also not sure I understand what they meant by that phrase, but I wouldn't use the phrase "all inclusive" for the GPL either. To me that invokes the (almost always incorrect) "open source means I can do whatever I want with the code" interpretation that gets used so often casually. As someone who supports the sentiments and goals, I feel it's important to emphasize that there are restrictions imposed. Namely, copyleft licenses forbid using the code in non-copyleft programs. Or to rephrase, they keep code open by excluding those unwilling to open their own code too.

I agree that GPL licenses technically restrict, but the practical application of that restriction is to prevent others from stripping freedom from the software. Anyone may use GPL code in software they don't want to open up...they are merely prevented (in theory) from distributing that restricted software. In reality there doesn't seem to be a lot of teeth behind it as the industry is full of large and small companies that regularly violate the GPL.

The GPL doesn't restrict users, and only restricts one type of developer: The one who would take the freedom offered by GPL software but then deny that freedom to everyone else.

More to the OP's point. Yes I think there is a place for development of Linux only GUI's.

Using Windows as a lowest common denominator really hamstrings you in many ways. It really depends on your objective. Want to target as many people as possible? Then make it cross-platform. Want to make a bespoke gui that takes advantages of platform features? Then target that platform.

This was a dumb and poorly informed post I made while mentally high, don't bother responding.

Yes, and that is precisely why I feel it's important to emphasize that there are restrictions imposed, and to correct people who interpret "open source" as "free to do anything with it".

Too late, you already opened the can of worms.

There is certainly an expectation in the culture of open-source which stresses helping to make your software work for anyone who wants to use it, implicitly this includes providing support up to porting, so imho one needn't feel required to make sure it's necessarily compatible on every imaginable system but if someone else were to start writing a port one might feel inclined to help as much as possible/reasonable.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.