How can I avoid running proprietary software while on Exercism?

I see in the terms of service: Where a resource does not appear to have a clear licensing statement, we would recommend that you check our GitHub source-code repositories. You should not assume that all content on our Platform is openly licensed, but it generally will be.

The scripts that I looked at on the website had links to source maps, but no license information. Finding the specific pieces of code in the main repository seems like it would be really difficult. Is there a good way to automatically avoid any nonfree parts of the website? Maybe there’s a way for me to build the app from fully free sources in the GitHub repo?

I only ran the software on for the forum after this discussion on Discourse Meta that led me to discover the “safe-mode” option to ensure I only run software that’s part of the base Discourse and not any software that Exercism has added.

I am happy that most of the main website seems to work very well without JavaScript entirely, but getting the API key and seeing the command for using the CLI both seem to require JavaScript. If there’s not a good way to distinguish between free and nonfree software on exercism.org, then I may end up writing my own software to just get the API token and the slugs, and then I could make a Haketilo package with that software so other people who avoid nonfree software could easily use Exercism (if they already have a GitHub account).

  1. Discourse is the forum software. It’s forum.exercism.org and not part of www.exercism.org.
  2. What does it mean to “run” software? Do you mean you don’t want to execute proprietary software on your computer? Does visiting a website that uses proprietary software count? If not, you can use the web editor for all your Exercism needs; you don’t need to run anything locally. Though the website does execute Javascript code locally in your browser ;)
  3. If you do want to work locally, the only local software you need to run are (1) the track tooling (which is not part of Exercism but is part of the language tooling) and (2) the CLI. The CLI is licensed under MIT. See here. There is no Javascript involved in the CLI; it is compiled Go code.
1 Like

This appears to be a request for support for self-hosting…

If it is for hosting Discourse, then you should go there for support, as it appears you have done.

If you are asking about “avoiding non-free and proprietary software while using Exercism” I am not sure that is possible. Github is non-free and proprietary and I believe it is being used for internal storage of data, at a minimum, and users choose to opt-in logging in using their github account, so you are likely to see profiles served by that service.

We also do not provide support for self hosting Exercism , so there is that as well.

1 Like

Yes, but it is part of Exercism, right? Both forum and www are subdomains of exercism.org. I think the terms of service covers both because it says Our platform comprises of a web site is located at https://exercism.org (and associated subdomains) and a command line application (CLI).. Either way, I don’t want to run nonfree software on my computer.

Yes, I don’t want to execute proprietary software, and that includes software downloaded through any method, whether it’s apt, git clone, or <script>, etc. So, a website that includes proprietary software I will use only if I can avoid running the software, for example by setting javascript.enabled to false in Abrowser/Firefox or (more commonly) by using extensions such as Haketilo, NoScript, LibreJS to block some but not all scripts. If software runs on the server, then I don’t avoid looking at the output of it.

I’m pretty sure most commercial routers use proprietary software. If you’re sending network packets, you’re remotely executing proprietary software.

This is not a request for self-hosting. I do not want to run my own Exercism server.

I generally don’t want to control the software run on other people’s computers; I only want control of the software run on my own computer. When I tried to register for Exercism with its JavaScript blocked, I was disappointed at first because I saw that I might have to solve a challenge from hCaptcha, which as far as I know has no free client software yet, but then I saw that I could register using GitHub and that worked without JavaScript (though I did have to remove a disabled attribute from the GitHub HTML). GitHub mostly* works without JavaScript so I mostly don’t avoid it.

Hopefully that adequately explains why I don’t consider GitHub an obstacle to using Exercism without running nonfree software.

*GitHub normally requires nonfree JavaScript to register but I wrote a (currently non-working) script to allow for registration without nonfree software.

The router I use is not my computer (shared router running (IIRC) OpenWRT, because the owner of the router didn’t want to spend the extra time/money on getting a router that doesn’t require nonfree software), and if I was going to use my own router, I could just buy a router that doesn’t use proprietary software*. Most routers do use proprietary software, but not all.

Regardless, the difficulty of avoiding nonfree software in some spaces doesn’t seem like a good reason not to avoid nonfree software when I can.

*except perhaps low-level firmware that isn’t really meant to be updated and is practically more like hardware than software, though I also think that is bad when it’s nonfree

You can work locally using the CLI (open source) to download the Exercism files and upload your solution. You can use the (undocumented) API to mark exercises as complete. You shouldn’t need to run very much propriety software on your computer. That said, most if not all of the website should be open source.

1 Like