Disallow an app to run on WSL

Star Rider

New Member
Credits
27
Hello,
How can I disallow a Linux app from running on the Windows Subsystem for Linux ? (I want it to work only with plain Linux installations)
 


Fanboi

Active Member
Credits
1,939
No more so than Windows apps on WINE. All you can do is make it as buggy to WSL as possible by dynamically linking to obscure libraries. Unless you want to implement a verification system which is beyond this scope. IDK lots about WSL so I can't be sure, but maybe checking for specific DKMs may render it incompatible.

I would just rely on a few obscure libs and call it a day. Easier to just break compatibility.
 

KGIII

Super Moderator
Staff member
Gold Supporter
Credits
25,899
I'm not a programmer, but you could check to see if it's running in WSL and abort if it is. If your application is open source, someone could remove that check easily enough.

Something like this:

 

f33dm3bits

Gold Member
Gold Supporter
Credits
24,139
Remove Windows and only run a GNU/Linux distribution as your main OS, there is a high chance no one will be able to answer that question here because most everyone here is running a GNU/Linux distriubution as their main OS. If you still need Windows for specific software the other options are to dual-boot or to run a Windows vm on top of your GNU/Linux host.
 

dos2unix

Well-Known Member
Credits
4,339
One way to disallow Linux applications is change the permission.

chmod 444 /usr/share/firefox/bin/firefox

It won't run anymore.
 

Star Rider

New Member
Credits
27
Ok thanks everyone!
I know there is no interest in running Linux in windows rather than as a main OS, but I know it's possible. As I am morally and ethically opposed to Microsoft, I want to make sure they won't ever take any advantage of my work.
 
Last edited:

Fanboi

Active Member
Credits
1,939
Ok thanks everyone!
I know there is no interest in running Linux in windows rather than as a main OS, but I know it's possible. As I am morally and ethically opposed to Microsoft, I want to make sure they won't ever take any advantage of my work.
Okay, you're now my hero!
 

JasKinasis

Well-Known Member
Credits
7,583
Ok thanks everyone!
I know there is no interest in running Linux in windows rather than as a main OS, but I know it's possible. As I am morally and ethically opposed to Microsoft, I want to make sure they won't ever take any advantage of my work.
The only minor point I will make is that you won’t be able to license your software under GNU, or any other GNU compatible license if you include restrictions that actively prevent windows users from running your application.

Because doing that would subvert the first freedom (freedom 0) in the Free Software Foundation’s definition of free software:
  • The freedom to run the program as you wish, for any purpose (freedom 0).
ref: http://www.gnu.org/philosophy/free-sw.en.html#four-freedoms

Free software is free for all users to run, for any purpose.

So, if your program will build on WSL, but you have put code into your project that actively prevents your software from running in WSL - then you are restricting the freedoms of Windows users. Therefore, your software is NOT free software and is incompatible with the GNU licences. Which means that your software would have to be distributed using another, more restrictive licence and would therefore be considered non-free software.

If your software relies on libraries that aren’t available on Windows and are not in WSL either - that’s not an issue at all because your software is simply incompatible with windows/WSL and will not build or run on it.

But if you’re a true free software advocate, the last thing you want to be doing is putting restrictions on your users. If you want your software to be useful to as many people as possible, then surely you’d make it cross-platform, to allow more users to be able to use it?!

I have been a full time Linux user for over 15 years. However at work, I am forced to run and work on Windows. And I love the fact that pretty much all of my favourite pieces of free software from Linux, will build and run in Windows - either natively, or via Cygwin, or WSL. Having all of my favourite, most familiar tools available to me on Windows helps to make me more productive. It also helps to maintain my sanity at work. Windows sucks!
Sometimes I even run an X11 session with dwm (tiling window manager) inside windows.

At the end of the day, actively preventing users from running your software on WSL isn’t sticking it to the man, or punishing M$. It’s just punishing/alienating potential users of your software.
 

Star Rider

New Member
Credits
27
The only minor point I will make is that you won’t be able to license your software under GNU, or any other GNU compatible license if you include restrictions that actively prevent windows users from running your application.

Because doing that would subvert the first freedom (freedom 0) in the Free Software Foundation’s definition of free software:
  • The freedom to run the program as you wish, for any purpose (freedom 0).
ref: http://www.gnu.org/philosophy/free-sw.en.html#four-freedoms

Free software is free for all users to run, for any purpose.

So, if your program will build on WSL, but you have put code into your project that actively prevents your software from running in WSL - then you are restricting the freedoms of Windows users. Therefore, your software is NOT free software and is incompatible with the GNU licences. Which means that your software would have to be distributed using another, more restrictive licence and would therefore be considered non-free software.

If your software relies on libraries that aren’t available on Windows and are not in WSL either - that’s not an issue at all because your software is simply incompatible with windows/WSL and will not build or run on it.

But if you’re a true free software advocate, the last thing you want to be doing is putting restrictions on your users. If you want your software to be useful to as many people as possible, then surely you’d make it cross-platform, to allow more users to be able to use it?!

I have been a full time Linux user for over 15 years. However at work, I am forced to run and work on Windows. And I love the fact that pretty much all of my favourite pieces of free software from Linux, will build and run in Windows - either natively, or via Cygwin, or WSL. Having all of my favourite, most familiar tools available to me on Windows helps to make me more productive. It also helps to maintain my sanity at work. Windows sucks!
Sometimes I even run an X11 session with dwm (tiling window manager) inside windows.

At the end of the day, actively preventing users from running your software on WSL isn’t sticking it to the man, or punishing M$. It’s just punishing/alienating potential users of your software.
Yes, you'e right, I have no right to force users to follow my commitments or to agree with my personal opinions, let alone in the context of a Free Software. I had not considered all the approaches to the problem... I still need to think before launching my project. Thanks for this new light!
(And I agree, Windows sucks!)
 
Last edited:

Fanboi

Active Member
Credits
1,939
The only minor point I will make is that you won’t be able to license your software under GNU, or any other GNU compatible license if you include restrictions that actively prevent windows users from running your application.

Because doing that would subvert the first freedom (freedom 0) in the Free Software Foundation’s definition of free software:
  • The freedom to run the program as you wish, for any purpose (freedom 0).
ref: http://www.gnu.org/philosophy/free-sw.en.html#four-freedoms

Free software is free for all users to run, for any purpose.

So, if your program will build on WSL, but you have put code into your project that actively prevents your software from running in WSL - then you are restricting the freedoms of Windows users. Therefore, your software is NOT free software and is incompatible with the GNU licences. Which means that your software would have to be distributed using another, more restrictive licence and would therefore be considered non-free software.

If your software relies on libraries that aren’t available on Windows and are not in WSL either - that’s not an issue at all because your software is simply incompatible with windows/WSL and will not build or run on it.

But if you’re a true free software advocate, the last thing you want to be doing is putting restrictions on your users. If you want your software to be useful to as many people as possible, then surely you’d make it cross-platform, to allow more users to be able to use it?!

I have been a full time Linux user for over 15 years. However at work, I am forced to run and work on Windows. And I love the fact that pretty much all of my favourite pieces of free software from Linux, will build and run in Windows - either natively, or via Cygwin, or WSL. Having all of my favourite, most familiar tools available to me on Windows helps to make me more productive. It also helps to maintain my sanity at work. Windows sucks!
Sometimes I even run an X11 session with dwm (tiling window manager) inside windows.

At the end of the day, actively preventing users from running your software on WSL isn’t sticking it to the man, or punishing M$. It’s just punishing/alienating potential users of your software.
That's a good point. I'm a little ashamed of my would-be activism now. When you mentioned work, it dawned on my rather thick skull that one way to advocate Linux is to get Windows users to see how great FOSS really can be which'll start them using it, which means they're going to find transitioning to Linux easier if MS keep pushing their restrictive agendas or if they simply get curios about the notion of taking back control over their computers that they paid for.
 

LorenDB

Well-Known Member
Credits
2,399
Also, if your app is free software, it's only a matter of time until somebody decides to port it to WSL (in other words, decides to remove the WSL restrictions from your code).
 
$100 Digital Ocean Credit
Get a free VM to test out Linux!

Members online


Top