How does your political philosophy affect your software choices?
3 15 Nov 2018 01:50 by u/libman
The software industry is overrun with left-wing commie influence, which is evident in both proprietary companies and FOSS (free open source software) projects. Perhaps it would be beneficial for non-communists to focus our development efforts on common stack components that best reflect our values? Picking a programming language ecosystem is the first step.
Software choices you make have significant political and ideological consequences. Benefits of making the right decision would include:
-
Easier collaboration with like-minded programmers, both for open-source and business projects. (Like, ain't it nice that we're all speaking English?)
-
Ideological influence within those projects, spacing out and ejecting CoC-pushing SJWs, and encouraging good governance.
-
Independence from government-loving corporations and left-wing online communities that ban you for your politics.
-
Genuinely free / permissive / copyfree FOSS software, without proliferation of restrictive commie legalese - no strings attached.
-
No danger of encroachment from new restrictions (like finding out that a module imported by a module you imported bans Trump supporters).
-
Greater security from using software components from people you can trust, and more like-minded high-IQ eyeballs on the incoming code.
-
Forking power in case a project we focus on goes libtard (like FreeBSD's CoC).
I think this is a very practical matter. I believe that our best long-term hope is secession movements (ex. seasteading, northern New Hampshire, etc), and having legal attachments or support needs on the "mainland" is a serious liability. The commies can't allow our secession to succeed, lest ever-more of their smartest tax-slaves begin to escape. And so it is very obvious what will happen: they will call us all (including pacifist libertarian wimps like myself) "Nazis", and they will try to sabotage us in any way that they can!
We are at war (even if it's by non-physical means), and software is a very big part of it. All non-communists are now in the same boat. We already have a very serious need for software security due to cryptocurrencies (i.e. the angry commie scriptkiddie whose module you imported can rob you). Ever-more new technologies (including in medicine and self-defense tech) will be powered by software. Being able to trust your software (which is presently in large part written by our enemies) will eventually become a matter of life and death!
Examples of software components that I think non-communist devs should focus on include OpenBSD and the Nim programming language. Please post your ideas and arguments.
23 comments
3 u/libman [OP] 15 Nov 2018 01:54
After thinking about software political philosophy for many years, I believe that Nim is now the strongest candidate for the best programming language to focus on. (Perhaps D is second.) I welcome a constructive debate on the question of which programming language is the most suited.
I recommend Nim because:
Nim is 100% grass-roots and independent. It was started as a hobby project by a brilliant German programmer, who remains the BDFL. This makes Nim much more suitable for freedom-loving projects than languages that are sophisticated advertising campaigns for left-wing government-loving companies and organizations: Google (Go, Dart, V8/NodeJS, etc), Microsoft (C#, .NET, TypeScript), Oracle (Java), Mozilla (Rust), Facebook (PHP, D), etc. Nim does have paying sponsors, especially in blockchain decentralized apps and gaming industries, but that is much better than the entities mentioned above.
The #1 way in which commies subvert open source projects is Stallmanism: they fool everyone into encumbering their code with restrictive anti-market commie legalese / automagical "contracts" that no one really understands, and then claim that freedom is only possible through socialism and government force. You can't write a decent app in many languages without pulling in tons of modules and supposedly becoming subject to a zillion pages of legalese! Please read copyFREE.org - our answer to copyLEFT for a non-communist perspective on software freedom. I've analyzed the software licenses used by various programming language ecosystems, and Nim is the most copyfree one I've found! All language components, compiler, tooling, standard library, IDE integration, and the vast majority of third party modules (currently 706 of 826) are copyfree. Also, by compiling to plain C (for which there are many compilers), Nim is less vulnerable to the possibility of LLVM stabbing us in the back than languages like Rust and Julia.
The #2 tool for commies is anti-merit "codes of conduct". Nim is one of very few significant programming languages that said no to SJWs pushing CoC!
Nim is a language that was designed for high-IQ programmers, not script-kiddies or easily-replaceable third-world diploma-mill drones. But that doesn't make it more difficult to use, just the opposite! Many things in languages like Java and C# are corporate group-think that intelligent programmers do better without. In this Nim takes the opposite approach from Go, which tries to dumb things down too much, resulting in soul-crushing repetitive and ugly code.
Nim is still little known, but is growing rapidly. I recently compared Nim's module count to one year ago, and there was 32% growth! Of all programming languages with a module system (NPM, NuGet, PyPI, Ruby Gems, Lua Rocks, CPAN, Maven Central, etc), Nim was the second fastest in growth (after Rust). Getting into the best programming language before it becomes really popular has many advantages, and gives you a chance to influence many things.
Nim has a really beautiful libertarian syntax (if you like Python, and you should). Take a look at this example comparing it to Rust, or more examples on Rosetta Code. It's the best looking almost-as-fast-as-C language out there! And it has shortcuts that even Python doesn't have, like a less annoying approach to object orientation, UFCS, case and underscore insensitivity, making unnecessary parenthesis optional, etc.
Nim is BS-free and thus easy to learn. If you understand Python (which is the best language for teaching kids, IMHO) and the basic concepts of data types, then you're ready to try Nim. Nim has very advanced features that you can learn along the way, but you can just ignore them to write what you could otherwise write in Python.
Nim is a very very fast systems language, about competitive with Rust and D, and consistently benchmarking ahead of Java, C#, Go, Haskell, and of course all scripting languages. It can become more competitive with C/C++ and Rust when more libraries support manual memory management. Nim is also starting to dominate Web framework benchmarks, although this work has not yet been completed. Nim also makes it very easy to make use of existing C/C++ libraries. So Nim could replace not only userland languages like Java and Python, but even C/C++ for kernel development as well.
Nim produces very lean binaries that are smaller than Rust, D, Crystal, and of course Go, Haskell, Mono, etc. This makes it second only to C/C++ for writing small commands (see Unix philosophy), and now for the WebAssembly target as well.
Despite being a high-productivity language, Nim is very type-safe, for conservative programmers who care about quality. It also has additional safety qualities: GC by default, pure functions, encourages static, easy concurrency, etc.) Nim has been described as Ada with a much better syntax.
Nim is extremely portable, and has been tested on many versions of Unix (including all BSDs, Linux, Solaris, AIX, plan9, etc), Windows / ReactOS / DOS, Apple, Haiku, Pi, old Nokia phones, etc, etc, etc. Because it can compile to C or JavaScript (and other targets), it can run on any device with a compiler / interpreter for those languages.
Please let me know what you think.
(Imported from Reddit)
0 u/gulatisneha56 30 Jan 2019 06:21
Really very nice points. Thank you.
0 u/TheCompanionCube 15 Nov 2018 02:28
I prefer free and open source software when possible, but use a lot of closed source proprietary software for day to day tasks in and out of work. I don't really every bring my political philosophy into it.
Your post skims over the benefits and ends up sounding like a sales pitch for Nim. Ill add some I'd these looks to my reading list nonetheless...
0 u/libman [OP] 16 Nov 2018 00:24
Thank you for your feedback.
That's why I separated out the Nim pitch into a comment, and focused the topic post on the problems within the software industry. Reasonable people can disagree on how to tackle those problems.
0 u/roznak 15 Nov 2018 21:25
None, Code first! Irrelevant of the tools, languages, tools,....
0 u/icecoldpopsicle 16 Nov 2018 10:12
I used to say i preferred open source, now that linux fell to the crazies i don't know man.
0 u/libman [OP] 17 Nov 2018 01:31
This only supports what I'm proposing: picking out the least crazy options (OpenBSD?) and focusing on them. If they are less popular projects, that's actually an opportunity for non-crazy people to affect them and keep the crazies away in the future.
0 u/psimonster 17 Nov 2018 03:50
I will not be chased off the use of software, especially that which I've spent years learning, by loathsome maggots who had no hand in building it. If I find it necessary I will join or support an advocacy group for people who aren't freaks to push back on these barnacles. What happens when a virgin project you adopt succumbs to the CoC?
0 u/libman [OP] 17 Nov 2018 06:01
Since then a significant fraction of this project's contributors / users / patrons would be against it, then it's less likely to happen, and if it does we'll have more power to fork.
0 u/takarabako 04 Dec 2018 01:11
I'm delighted that "pacifist libertarian wimps" are waking up to this. If it's not explicitly for us, it'll eventually be taken away from us. Such is the determination of communist infiltrators.
I'd never thought about this aspect, but another effect of a baked-in, "this is for us" philosophy might be that we stop regarding projects as these ambiguous, public entities that nobody is really responsible for. Like, how do you have an investment in the software if you don't have an investment in its users?
Maybe we didn't. Maybe that "we can just fork" attitude is as self-destructive a form of white flight as the attitude of "we'll just move away from the diversity" until there's nowhere left to run.
...oh balls, Im replying to a three week old thread.
0 u/libman [OP] 05 Dec 2018 07:02
Thank you for your reply. :-)
0 u/oohhhhcanada 08 Dec 2018 03:14
Intelligence agencies, corporations, corporate spies all welcome the chance to help with "free" code. Installed on as many things as possible. Take a look at any large Linux product, like OpenWRT, check how many contributors it has. It isn't possible to know who 3% of the contributors are, and what their motives are. Checking all source code is virtually impossible. Checking what may be embedded into a compiler or interpreter is also nearly impossible. Coders are too busy writing new code or fixing old code, ABC agencies and affiliates are busy embedding hidden features, phone homes, and back doors. Free maybe isn't totally free. This applies to open standards as well, one wouldn't want to think someone at an ABC agency would weaken encryption or security of a standard in a way impossible to correct after millions of products are produced. Nothing like free open standards. Of course proprietary code from friends like Microsoft, Google, Apple and a slew of others does similar stuff. The money shouldn't go to the open source, but to validating it. Open standards should offer very high cash rewards for finding a major security flaw before being adopted. Routers and switches should be evaluated by UL or some similar group not only for electrical safety, but code safety. It wouldn't be cheap, but may help limit exploits.
0 u/libman [OP] 14 Dec 2018 20:49
Very interesting points, thank you.
It may be impossible to kill 100% of the germs, but that doesn't negate the benefits of good hygiene. We need to limit the attack surface (so to speak): know where your software is coming from, in what ways it can hurt you, and have as many eyeballs on that code as possible.
Which I why I argue that we need a right-libertarian software freedom movement to counter the left; defining our philosophy and focusing on specific software ecosystems and projects - ones that are already SJW-free and focused on quality auditing (ex. OpenBSD).
I can think of three ways in which software developers with bad motives can harm you:
Malware. One must obviously practice good security policies, starting with the highest security and code auditing standards for the privileged code, signed software repositories, and running userland apps under the least privilege possible. If your weather app is malicious, it shouldn't have the power to do anything but display bad information - not have any possibility of allowing remote access, deleting or altering other files, stealing your crypto-coins and other secrets, etc. The odds of you installing a malicious app are very small if the code is cryptographically checksummed and comes from a conservative and discerning repository (like the OpenBSD ports), meaning thousands of other security conscious people have checked this code before you. Using a better programming language with higher-level syntax and better abstractions (like Nim or D instead of C/C++) can make it easier for more people to read the code.
Legal entanglements. Most people don't pay attention to this, or think that all "free" software is equally free, but drawing a line with license freedom is my utmost requirement. GPL and even the Apache license are not free enough. All permissible licenses merely say: "do what you want, just don't sue me and don't claim you wrote my code". The software cannot claim that you've automagically entered into a contract and obligate you to do anything.
Ideological propaganda. It limits one's ability to morally condemn MSNBC while being addicted to C#. (Or the Google Memo and Golang, etc, etc, etc.) I once even made a fuss about the 'B' in BSD, but one must pick one's battles...
0 u/aCuriousYahnz 12 Dec 2018 18:38
Been a developer long enough that I don't want to mess with programming when I'm not at work. I don't want to be on a computer when I'm not at work. Basically just stopped purchasing any electronics.
0 u/libman [OP] 14 Dec 2018 19:38
Most people cannot permit themselves this luxury. Programmable digital technology is everywhere, and staying productive, competitive, and even alive will depend on it more and more...
This is why software freedom matters a great deal, and letting commies like Stallman hijack and define this cause is absolutely horrible...
0 u/gulatisneha56 22 Jan 2019 06:29
Yes I agree with you.