1. 6

    What a nice and inspiratory write-up! I really like this kind of quality content, even though it’s a topic only a small small minority would even want to reason about in this world.

    I really see the computer as an extension to my mind, and I must say that I’ve managed to create an environment for myself which suits this purpose. Using other computers with common operating systems or window managers, or even tablets or smartphones, really makes you realize how disconnected people are from their technology despite most of them using it every day, some even almost every minute.

    I would argue that this is a stress factor in itself, where people feel the need to check their phone regularly and literally experiencing stress when they don’t. I’m looking forward to what the future will bring; I’m almost sure the next big step after the smartphone will be direct brain-computer-interfaces (Let’s hope it’s open source, folks! I wouldn’t want to catch a virus that way).

    1. 7

      I’m really very happy not attaching the computer to my brain at all. I appreciate that it’s a physical artefact that I have some hope of being able to turn off, push out a window, etc – that Amazon isn’t putting advertising material into my subconscious in a way I can’t observe.

      1. 5

        I’m really very happy not attaching the computer to my brain at all. I appreciate that it’s a physical artefact that I have some hope of being able to turn off, push out a window, etc – that Amazon isn’t putting advertising material into my subconscious in a way I can’t observe.

        The real problem here is that we still cannot trust computers to obey us and only us. There’s also a secondary (or perhaps even, primary) master, which is whomever created the software. Tying back to the article, I doubt Engelbart would approve of a “mind augmentation” that bugged its user with advertisements.

        In my mind, free software is the only solution out of this mess, but society seems to be pretty clearly and universally uncaring about any of this at all. Sure, there’s the occasional griping about ads, but by and large people accept it and seek out the free as in beer ad-driven software.

        1. 2

          Yes, I totally agree with you! This software matter is sadly not the only topic where this applies. We can also stretch this to politics, economics, consumerism and so forth. When people don’t reflect on topics and ignore them, they end up falling into traps, maybe even being fine for years beforehand.

          There was a time 1-2 years ago where a big PR-agenda by the advertising agency “convinced” lots of people to argue for ads that they were the lifeblood of many papers and so forth, completely ignoring the issue at hand regarding tracking and other things. I, and many others, are open for microtransactions for these kinds of services. The Ad-based revenue bubble will probably burst in a few years (when everyone sees that the king wears no clothes), and Alphabet knows that (which is why they are so aggressively expanding into so many different fields).

          Back to topic: We are just doomed to wait for a big catalytic event to happen.

        2. 1

          It’s important to note that when Sutherland, Licklider, and Engelbart talked about man-machine symbiosis, they didn’t mean physical connection (as in brain-computer interfaces). (The idea had already been seriously floated – the paper that coined the term ‘cyborg’ was published around the same time as the MOAD, & physical human-machine hybrids had been around for longer – notably in E.V. Odle’s Clockwork Man in the teens.)

          Instead, they were talking about what Deluze and Guatari referred to as a ‘dyad’ and what Burroughs called ‘the third mind’: the tendency for facility of communication to increase in certain kinds of close collaboration to the point where two people become effectively a single functioning organism (despite being joined by normal communications mechanisms) more effective than either alone. I think most of us on lobste.rs have felt this way at a REPL on occasion.

          1. 1

            These analogies are not without challenges, though. For starters, a REPL doesn’t do much of anything by itself – it’s just a tool that I can use, not substantially different from a pocket calculator. I think some of the historic research is interesting, and some of it appears too forced an attempt to project thinking from fields like psychology onto the computer – especially from a time when computers were just not that powerful, so a lot of it is in a fairly future-imaginative tense.

            1. 1

              It doesn’t take a lot of computing power to create a usable, responsive system that people can develop a connection & personal cant with. I mention the REPL because REPLs are lightweight enough to have been this responsive in the early 70s (if not earlier).

              Actual symbiosis does not necessarily involve a direct biological connection, so I would not call it a mere metaphor to consider a REPL symbiotic with its user (or a BCI inherently more symbiotic than a REPL). For instance, the clownfish / anemone symbiosis doesn’t involve bits of anemone in the clownfish & vice versa.

              We’ve got a lot of wiggle room to make interfaces better before resorting to wet wiring. (And, current wet wiring tech requires substantial training, for reasons that are unlikely to go away without substantial advances in mapping the peripheral nervous system. Basically, people are too varied in terms of what parts of the brain correspond to even straightforward motor stuff, and it’s a lot easier to have the person remap their brain regions to match the prosthesis than to have the prosthesis identify the current mapping, even though having the person do that remapping means months or years of intense physical therapy.)

              1. 1

                Sure, my Commodore 64 could have a conversational or at least responsive textual interface. It even had a few GUI environments, though those consumed so much of the available resources that they were unable to do much else beyond very basic word processing or bitmapped painting.

                But the C64 couldn’t index large quantities of online information in a way that’s relatively easy to search. Just like the MOAD system was fully unable to perform the video conferencing part of the demo, a feat not realised until decades later.

                Lots of people wrote toy programs for the C64, and lots of people have imagined what the future might hold. Others still have actually built the tools we – and millions of others – use every day. The tools could always improve, and often they do, but I think it’s unfortunate to cling to specific unrealised research ideas to the extent that you can’t see the wonder right in front of our eyes.

                I remember in the nineties I watched space shuttle launches in a postage stamp sized window via a dialup modem, probably 5fps at best. It was objectively terrible by today’s standards but it was, at the time, marvellous. Now, in 2018, I can hold my phone in the air when a piece of music is playing and it can find me the recording. I can video conference with my parents on the other side of the world as if they were right across the room. I can send real time messages, attach pictures sound and documents, to anywhere in the world instantly. I can read that conversation history on multiple devices at once, and everything is backed up automatically. I can watch thousands of movies on my TV without having to go to Blockbuster.

                In short, though it’s true that my phone isn’t a Smalltalk or a LISP machine, I’m not sure that really matters. There are opportunities for composing interfaces certainly, and you find pieces of that in tools that millions use like Excel, or some of the newer Notebook systems. But the fact that specific research ideas haven’t taken off isn’t necessarily a tragedy, or even that surprising. There are so many forces at work in software, beyond a particular aesthetic preference or set of expectations of functionality, that not everyone will be completely happy with everything.

                If these truly are things we cannot do without, then one expects they might almost sell themselves – and I wish you well in building that future!

                1. 1

                  I think it’s unfortunate to cling to specific unrealised research ideas to the extent that you can’t see the wonder right in front of our eyes.

                  People keep trying to tell me that I lack sufficient appreciation for the status quo. I’m very suspicious of any system that gets defended from sensible criticism by telling people to be grateful that they have anything at all.

                  Just like the MOAD system was fully unable to perform the video conferencing part of the demo, a feat not realised until decades later.

                  Should note that this isn’t so accurate – Bell already had a commercial videophone service before the MOAD. (I could look up the exact year, by my memory is that it was launched in the mid-1960s, debuted at a world’s fair, & became available a couple years later. It drove some of the early digitalization of switching equipment. Ultimately, the service was cancelled, because – priced to pay for the upgrade of the whole Bell network to digital exchanges – it was too expensive, and people who did pay for it quickly realized that they didn’t actually want video conferences anyway.)

                  If these truly are things we cannot do without

                  We clearly can do without them, because we have been. You can do without housing, too, but few people do it by choice. I personally don’t want to do without powerful tools until someone deigns to sell them to me (which is why I write them).

                  , then one expects they might almost sell themselves

                  I don’t think stuff like this will ever be profitable. That’s a good reason to make it: to make sure it exists, because no corporation will.

          2. 1

            Believe me, me too! I actually didn’t really say it, but I would think 6 times before even considering such a brain-computer-interface. It would have to fulfill high standards, e.g. being open source and based on a mature codebase. And even then, the question is how well the scientific “model” is. You wouldn’t want to fry your hearing nerve just because there’s a misconception of perception of something.

        1. 4

          Haha, this is great! :) It gave me a good laugh.

          On a serious note, it is really not often reflected in posts the author criticizes how expensive it can be to move to a different solution as soon as you have a large scale operation. It is more or less excused though in my opinion because it’s easy to only look at the world through one’s own glasses. Those experienced with large scaled operation should bring the experience to make the necessary cost-use-calculation themselves.

            1. 2

              What a nice pick of a video, even though the context really only unfolds at the very end.

            1. 5

              The only thing keeping me from looking further into Go is binary size. Yes I know, it might not matter that much nowadays, but I do care about that.

              The article was delightful to read and I’m glad more people discover Go and make use of it nonetheless.

              1. 11

                Yes, it is a bit odd, but yet we think nothing about 10s or 100s of megabytes of installed dynamic language runtimes and RAM overhead in the 50-100MB range (minimum!). Granted those runtimes are shared, but for us we just compile our go code into a single binary (command/subcommands) so the binary overhead is at least mitigated and as @zge says, it is nice to be able to drop the binary onto a box and just run it.

                1. 2

                  Indeed it is very nice, and I give it to the Go developers that they mandated static linking despite the problems to allow this flexibility.

                  RAM overhead is a difficult matter though. The Linux kernel is a bit more slacky with memory when lots is available, but I with my system for instance have a RAM usage of ~70MB after boot, which is definitely a value one can live with. It can easily bloat up with many programs though, so your point is definitely valid.

                  We’ll see what the future brings in this regard.

                  1. 2

                    Wait, are you saying you work on a computer that, after OS, only has 70MB free? If so, why? I’m just curious.

                    1. 2

                      Haha, sorry if it sounded like that. The system has 32GB of memory, of which it only uses 70MB after booting. :)

                      1. 1

                        Oh OK. Too bad since I was hoping for some stories about crazy lengths you went to keep lean software, freedom-preserving/open CPU’s, or some shit you did on an FPGA. All possibilities that could lead to interesting write-ups for us. A 32GB RAM machine sounds cool, too, though. :)

                        1. 2

                          Haha I’m sorry to let you down! But it’s exciting enough to strip a Gentoo system down in many respects to make it as lean as it is. Maybe you have some crazy stories to share in this regard. :)

                          1. 1

                            All good haha. Due to memory loss, I actually can’t do that any more. I know I used tools that minimized kernels and just deleted stuff I didn’t think I needed. The coolest system like that is eCos whose configuration scheme I wanted for Linux’s and BSD’s. Other approach was straight-up deleting code out of Linux like Poly2 did. I never really took that as far as it could go.

                            If you’re interested in such things, best example I can give you is actually my friend “tommy” trimming a fully-loaded, WinXP box with Office, Firefox, security suite, and other stuff. He got it down to around 650MB! He backed it up onto a CD-R, too. Google isn’t giving me much. I did find two comments plus a guide he used. I mean, it was hard to say using WinXP was irresponsible or less safe than average Linux when some apps only had 4KB of code to attack on his box.

                            Although his “hobby” took “years,” it did inspire my recommendation to consider using Windows Embedded for corporate desktops with some script to similarly kill off all attack surface they don’t need. Maybe good for privacy-focused, Windows users as well. Wonder if the telemetry shit is visible in WinEv10’s configurator. ;)

                            1. 1

                              What an interesting story! Thanks for sharing and digging up those links, which probably took some time! :)

                              I’ll look into it.

                              Just wondering: Is the memory loss medical-related or just a figure of speech you used?

                              1. 1

                                Glad you liked it. Unfortunately, memory loss is not a figure of speech. I did a bio here when some people were wondering about contradictory nature of some of my comments, esp expertise I “should or shouldn’t” have. Spoiler: I’m a rare, weird dude. ;)

                                1. 1

                                  Damn, so my impression was correct! I’ve known your nick (pun intended!) for quite some time too, being an old fellow of Lobsters myself, and remember that you used to share really high-level stuff in the beginning but then very much tended to the comment sections and didn’t post as many stories. Every time you responded to me I felt honored because I knew you and respect your work very much!

                                  Thanks for the insight, I appreciate it. :)

                                  1. 1

                                    Thank you. It means a lot to me. Especially as things might get rougher soon. I stay doing what R&D I can for yall. :)

                    2. 1

                      they didn’t mandate static linking, dynamic Go programs are possible. it isn’t backwards compatible so that’s a thing to watch out for.

                  2. 4

                    Considering that people usually write Go on one machine, and let it run on another, having everything statically built is welcome. But I agree that it feels weird for native applications.

                    And usually, running go build -ldflags "-w -s" manages to cut the size by 1/2, though I haven’t necessarily noticed any great performance improvements.

                    1. 1

                      It’s discouraged to strip Go binaries as it can lead to unexpected problems, but your point is a good one. Still, I am used to very small statically linked binaries using musl libc. Going static doesn’t necessarily imply a gigantic growth in binary size and the Go developers acknowledge that it is a real problem (see this)

                      1. 4

                        That is not true.

                        1. 1

                          Thanks for the correction! :)

                      2. 1

                        UPX is really very effective at compressing Go programs, too.

                    1. 7

                      Even though I am heavily opposed to the idea of CoCs, I must underline that I very much admire and honor the respectful and considerate tone this document has.

                      1. 17

                        This is everything that’s wrong with programmer hiring practices.

                        1. 10

                          “For entry-level roles I give bonus points if there’s some sort of testing, but more experienced roles I penalize candidates who don’t at least list relevant test cases.”

                          No test cases for your whiteboard code? SURPRISE, GOTCHA! What’s next? “I docked points for interviewees who did not also provide an autotools configure.in to build their whiteboard code.”

                          1. 1

                            This is an unfair comparison, knowing how to write good tests is not the same in importance as reciting build rules. Ideally you should be submitting tests alongside code in every commit. It’s a critical piece of SWE knowlege.

                            1. 7

                              Ideally you should be submitting tests alongside code in every commit. It’s a critical piece of SWE knowlege.

                              This right here is religion.

                              And again, that someone doesn’t write a test for their whiteboard doodle doesn’t mean they don’t know how to write good tests. That’s the SURPRISE, GOTCHA! The rules of the game are quite arbitrary.

                          2. 1

                            I couldn’t agree more. Thanks for sharing your thoughts.

                            1. 1

                              But I LIKE these puzzles. I got fixated on the fact that I can’t dial 5 this way.

                              1. 5

                                Oh, me too. But I’m wildly fed of up clever-clever programmers who think that their cute way to encode a dynamic programming problem counts as a valid hiring filter.

                                Extra points are awarded for problems which turn out to have solutions that vastly outperform the dynamic programming one, especially if the problem only happens to be amenable to dynamic programming due to some special features that you’d never see in a real world example.

                                (The other favourite appears to be ‘lets see if the candidate can spot the graph problem I’ve just described’.)

                                1. 1

                                  Oh, totally :)

                                  In the past, we’ve used actual problems from our research as a joint white board brainstorming session and used that as an excuse to figure out how the candidate works. It’s possible it unfairly filters out candidates who are more comfortable using a few days to think about a problem and are not so quick verbally.

                                  We had a different strategy where we would send out a do at your leisure coding test which would work out more for such types.

                                  I don’t think we ever synthesized the two tests meaningfully.

                            1. 0

                              This is not only the wrong place to protest against such things, it is also illegal as all contributors have to agree with this change.

                              This approval has not been sought.

                              In general, I don’t think one should deliberately mix politics and software development at all. It really doesn’t improve code quality and I’m still looking for an example where it did. Please enlighten me if you know one.

                              1. 2

                                “ I don’t think one should deliberately mix politics and software development at all. It really doesn’t improve code quality and I’m still looking for an example where it did. Please enlighten me if you know one.”

                                Although I mostly agree, I do know of one from a security perspective: Rust. It’s a C alternative that provably reduces security risks with massive adoption vs about every other attempt at a safer replacement for C. Although Mozilla is backing it (common reason for success), a big part of its success seems to come from its community team. @skade described their approach here in an epic, improvised, field manual on marketing languages that he needs to turn into a book and consultancy for other projects. Those coding in it, regardless of skill, have fewer flaws than its predecessors. It had other benefits, too, given it integrates multiple paradigms.

                                A common refrain was their inclusiveness made people want to join. I think that was mostly great onboarding and positive culture but some liked things like Code of Conduct. Any of those are a mix of political and practical. I’d love to see an experiment where you keep everything except the most political stuff to see what happens in a project that should likewise get lots of traction. I”m curious how each part plays into the situation to create the final mix of users, contributors, and successful/failed products. I wonder what the 80/20 rule is on minimum a project has to do to get most of those results.

                                Regardless of what I wonder, the project with a highly effective and political team on community focus got great results with their methods that nobody else achieved in that area. Safety/security is already improving at the rate of adoption since it’s the default of the language. I give them due credit on that.

                                1. 3

                                  Creating an inclusive atmosphere is at least peripherally involved (and plausibly more) in bettering the project. Every project has some form of governance, which may be “political” but I would differentiate that from examples invoking Kissinger and abortions. External vs internal politics.

                                  1. 2

                                    Thanks for the elaborate response! As @tedu already perfectly put, I was only talking about external politics. Being a German native speaker, I made the mistake to assume the German meaning of “politics” as well for the English language. Surely politics also are internal politics in the German language, but much less.

                                    So what I really meant is external politics (e.g. as a form of protest against government or political activism). The Rust approach definitely looks interesting, and even though I am not a fan of the language, its approach in terms of community development and language design are pretty unique.

                                    Your point about internal politics is completely correct and I concur of course!

                                  2. 1

                                    it is also illegal as all contributors have to agree with this change.

                                    That is incorrect, the MIT license explicitly allows sublicensing.

                                    Permission is hereby granted… to any person obtaining a copy of this software… to deal in the Software without restriction, including without limitation the rights to… sublicense

                                    Thus, anytime you license anything under the MIT license, you are explicitly allowing this kind of thing.

                                    1. 2

                                      Thanks for the heads up, I forgot about that! :)

                                  1. 3

                                    This is why I religiously publish all code of my scientific publications with the publication itself. If someone wants to reproduce the results 20-30 years later, it would be unlikely I have the code still at hand. If it is published with the publication, it is one unit.

                                    1. 36

                                      I am a maths researcher at the university of Cologne and adressed this in a thesis I wrote in 2016. See chapter 3, especially the first part of section 3.1.

                                      Dividing by zero is totally well defined for the projectively extended real numbers (only one unsigned infinity inf) but the argument for the usual extended real numbers (+-inf) not working is not based on field theory, but of infinitisemal nature, given you can approach a zero-division both from below and above and get either +inf or-inf equally likely.

                                      Defining 1/0=0 not only breaks this infinitiseminal form, it‘s also radically counterintuïtive given how the values behave when you approach the division from small numbers, e.g. 1/10, 1/1, 1/0.1, 1/0.001…

                                      lim x->0 1/x = 0 makes no sense and is wrong in terms of limits.

                                      See the thesis where I proved a/0=inf to be well-defined for a!=0.

                                      tl;dr: There‘s more to this than satisfying the field conditions. If you redefine division, this has consequences on higher levels, in this case most prominently in infinitisemal analysis.

                                      1. 8

                                        I used to be a maths researcher, and would just like to point out that some of the people who define division by zero to mean infinity do it because they’re more interested in the geometric properties of the spaces that functions are defined on than the functions themselves. This is the reason for the Riemann sphere in complex analysis, where geometers really like compact spaces more than noncompact ones, so they’re fine with throwing away the field property of the complex numbers. The moment any of them need to compute things, however, they pick local coordinates where division by zero doesn’t happen and use the normal tools of analysis.

                                        1. 2

                                          Thanks for laying this out and pointing out the issue with +/- Inf

                                          Could you summarize here why +Inf is a good choice. As a practical man I approach this from the limit standpoint - usually when I end up with a situation like this it’s because the correct answer is +/- Inf and it depends on the context which one it should be. Here context means on which side of zero was my history of the denominator.

                                          The issue is that the function 1/x has a discontinuity at 0. I was taught that this means 1/0 is “undefined”. IMO in code this means throw an exception.

                                          In practical terms I end up adding a tiny number to the denominator (e.g. 1e-10) and continuing, but that implicitly means I’m biased to the positive side of line.

                                          I think Pony’s approach is flat out wrong.

                                          1. 6

                                            It is not +inf, but inf. For the projectively extended real numbers, we only extend the set with one infinite element which has no sign. Take a look at page 18 of the thesis which includes an illustration of this. Rather than having a number line we have a number circle.

                                            Dividing by zero, the direction we approach the denominator does not matter, even if we oscillate around zero, given it all ends up in one single point of infinity. We really don’t limit ourselves here with hat as we can express a limit to +inf or -inf in the traditional real number extension by the direction from which we approach inf in the projectively extended real numbers (see remark 3.5 on page 19).

                                            1/x is discontinuous at 0, this is true, but we can always look at limits. :) I am also a practical man and hope this relatively formal way I used to describe it did not distract from the relatively simple idea behind this.

                                            Pony’s approach is reasonable within field theory, but it’s not really useful when almost the entire analytical building on top of it collapses on your head. NaN was invented for a reason and given the IEEE floating-point numbers use the traditional +-inf extension, they should just return the indeterminate form on division by zero in Pony.

                                            1. 6

                                              NaN only exists for floating point, not integers. If you want to use NaN or something like it for integers, you will need to box all integer numbers and take a large performance hit.

                                          2. 1

                                            Just curious, but why isn’t 1/0=1? Would 1/0=Inf not require that infinity exists between 0 and 1?

                                            1. 2

                                              I’m not sure I understand your question. Does 1/2=x require x to be between 1 and 2?

                                          1. 5

                                            It is, for example, perfectly possible for pro-life and pro-choice advocates to collaborate on a software project. They just have to leave their opinions about abortion at the door, and this should not preclude them from freely sharing those opinions on social media without fear of disciplinary reprisal

                                            I wonder if this is true. Richard Stallman said, regarding an abortion joke in glibc:

                                            GNU is not a purely technical project, so the fact that this is not strictly and grimly technical is not a reason to remove this.

                                            I asked this:

                                            must one have the same political views as Stallman to be part of the GNU project? What if we simply believe in the four software freedoms, is that not enough? Should members who are against abortion be excluded?

                                            and he replied to every single post in the thread except mine, so I don’t know what the answer is.

                                            1. 5

                                              I wonder if this is true

                                              It happens all the time in the general workplace. The South has one of the most heated histories you’ll find in things like race and gender issues. We mostly get along anywhere from tolerance to being friends. My government class was mostly split 50/50 on abortion debate with most staying friends after within days. Reading from people pushing CoC’s for political reasons, you’d think that was impossible. Yet, we do it every day in any places where peoples’ differences are tolerated. So, they’re wrong about that part. That simple.

                                              The author’s concerns about discrimination are my concerns given I’ve watched almost every group in a dominant position down here reward members of their own group and discriminate against others. Non-whites or non-males were no exception. Their acts of racism and sexism just don’t make the news or waves on social media. Those that didn’t do this were rare, truly-inclusive folks that went out of their way to care about and understand people that were different. I love those people even if their beliefs or political moves piss me off at times. Many get along with or love me, too. I’ve learned a lot from them.

                                              The tech industry, esp in Silicon Valley, is just strange to me vs what I normally encounter in general workplace. They seem to think only young, white males are capable of anything while preaching meritocracy and saying/doing anything without consequences. Then, the other haters, err activists, opposing them seem to think all white males are overprivileged people to minimize while giving opportunities and social dominance to every other group. Well, many of them even bring in just select groups (esp white women) ignoring other groups. Plus, carefully controlling speech and action in all forums with assumption every human is too weak to co-exist with those that disagree. With these factions, it’s as if there’s nothing else possible aside from these extremes despite massive number of counterexamples mostly outside of tech but also some in it. That includes the millions of minority members that seem to have a different opinion about minority or diversity issues.

                                              Note: This is a tech site. I’m talking general trends. If you’re an exception, you know who you are. :)

                                              So, I keep talking about it to try to shake people out of this binary, extremist thinking on opposite ends. For now, I don’t know what else to do given the beliefs are deeply social and emotional. That traditional and social media keeps putting them in bubbles seeing only people they’ll like the most or piss them off the most isn’t helping. One of best things I ever learned to do is keep people who oppose or aggravate me on social media. I watch their reactions to every hot topic, reading what evidence they post. Very enlightening. Plus, keep bringing the counterpoints in nice-as-I-can way to folks on the other side targeted to their perspective and terms rather than mine. Think on theirs carefully. I don’t what else to do about the herd or extremist mentalities many are about.

                                              Btw rain1, I don’t know if you were back in time for the last thread on this but it was more interesting than most political ones. I experienced a jaw-dropping surprise or two there.

                                              1. 4

                                                One of best things I ever learned to do is keep people who oppose or aggravate me on social media.

                                                Be careful with this. Like cultists, an entire generation of pundits have developed that take advantage of psychological weaknesses we all possess. They use the “you have to listen to all sides!” argument to claim a right to your cognition, when doing so opens yourself to manipulation via framing or even simple repetition (and if these have emotional impact, like being aggravating, they’re more effective). Listening to many sides is in general very beneficial, so you have to constantly identify if the person is arguing in bad faith or not. This can be hard to do, and I won’t offer any strategies here because they tend to be extremely personal and subjective.

                                                Critical thinking doesn’t make you immune to this. At the risk of using an engineering analogy, a logically secure input parser is still susceptible to denial of service. So keep your eyes open and try to get input from a variety of sources, but make sure you understand their biases and whether they’re arguing in bad faith or not.

                                                1. 3

                                                  “They use the “you have to listen to all sides!” argument to claim a right to your cognition, when doing so opens yourself to manipulation via framing or even simple repetition (and if these have emotional impact, like being aggravating, they’re more effective). “

                                                  This is a weak argument. You can always be tricked by any side, especially your own since you trust them more. The result is you still have to listen to different people. Further, you should look at evidence they present more than what you speculate about their biases, bad faith, etc. If evidence looks wrong or especially badly-intentioned, then you might start ignoring that person or group a bit more. You might still glance at their info in case something useful comes out. Totally ignore them when noise ratio is too high. That way, we get to your last sentence without censoring those that disagree with us based on bad assumptions about their motives or whatever. That’s often just ad hominem for political gain disguised as something reasonable.

                                                  Looking at the political stuff, the people on the left are often citing sources that are full of shit. The people on the right do that as well. I know each set of mainstream sources are intentionally biased trying to tell their audience what they want to hear to keep their advertising revenue up. For others, it might be book sales, numbers on social media, status/image, and so on. Then, there’s sources that are pretty honest with just human biases. They can get more dishonest if they get emotionally charged, though.

                                                  The irony of your warning is that you probably use some of those sources that are definitely operating in bad faith to support your political beliefs. I do, too, but that fits the model I just described of assuming everyone has error or agendas sifting the wheat from the chaff. For instance, I’ve read a Huffington Post article followed by a Ben Shapiro video on a topic since I knew both would have numbers useful to me. Then, I had to check every claim since both are full of shit. The good news is the bullshit itself is often repetitive since they aim for talking points that will spread virally. As in, the claims you have to fact check go down over time until getting good info out of semi-reliable sources is fairly efficient or not as bad at least.

                                                  1. 2

                                                    For helping to filter out those acting in bad faith I found it helpful to sometimes ask yourself “what if they are right” and then research on the topic. Pulling up surveys, studies, essays, etc.

                                                    That does make you able to recognize these arguments more easily while also increasing your literacy and giving you ammunition.

                                                    Generally I think it’s most beneficial if people would ask themselves that more, esp. if they are in one of the political extremes. To try to imagine what the other side thinks and feels. Empathy and understanding are something the world lacks these days.

                                                    (Also be careful to not throw political centrists under the bus by simply throwing out “you have to listen to all sides”, we’re usually quite nice people even if we’re not always on your side!)

                                                    Of course, I also feel that the most important issue is that we learn to work together more. Plenty of people disagree politically on a number of issues and work together. That can be whether or not Fiber Internet should be subsidized or not up to much more controversial statements. I don’t think such disagreements are a reason not to work together. If they bring that sentiment to work and poison the team effort by splitting the team over it, then of course, stop working with them.

                                                    1. 2

                                                      be careful to not throw political centrists under the bus by simply throwing out “you have to listen to all sides”

                                                      I’m saying listen to most sides, not all sides. Like the record in GEB that destroys the record player itself, our sense of fairness and aversion to hypocrisy can be exploited and destroyed with the right arguments. This happens in the real world, more often over time, and we should recognize it before we’re stuck in endless mental gymnastics trying to break out of political nihilism.

                                                2. 2

                                                  Richard Stallman said, regarding an abortion joke in glibc

                                                  IIRC he was strongly of the opinion that the joke was not about abortion, but about censorship.

                                                  1. 1

                                                    I am very positive this is true. Granted, the own Weltanschauung truly reflects in one’s coding style in most cases, however, both pro-life and pro-choice advocates can have e.g. a profound desire for simplicity in their designs regardless of their opinions.

                                                    Things like this, in my opinion, are more rooted in self-discipline and habit, which is more or less not correlated with one’s opinion.

                                                  1. 1

                                                    The article is nice, but I really need to address something different here: Isn’t anybody else bothered by the medium-header taking up like 10% of screen space permanently, even when scrolled down in the article? Who thought this was a good idea?

                                                    1. 1

                                                      In early 2017, the US withdrew from the treaty, which its President had previously described as a “terrible deal”.

                                                      In before: The FSF proclaims Donald Trump to be a supporter of free software.

                                                      1. 7

                                                        We’re seeing up to a 12% reduction in compile times from this change, […]

                                                        Very nice!

                                                        1. 7

                                                          Massive kudos to this guy for not putting up with this SJW madness. I wish him all the best!

                                                          We at suckless are heavily opposed to code of conducts and discriminatory organizations of any shape or form.

                                                          1. 11

                                                            Suckless takes a similarly principled stand against runtime config files.

                                                            1. 8

                                                              How does suckless oppose discrimination?

                                                              1. 13

                                                                It’s very simple. Any non-technological matters during software development move the software away from its ideal form. Thus, to make your software suck less, you only take the best developers no matter what race, gender, heritage, etc. these persons have.

                                                                We do not believe in equal status (i.e. e.g. forcibly obtaining a 50/50 gender ratio), as this immediately leads to discrimination. We do however strongly believe in equal rights, naturally. You also naturally cannot have both.

                                                                1. 94

                                                                  Any non-technological matters during software development move the software away from its ideal form.

                                                                  Suckless makes a window manager: a part of a computer that human beings, with all their rich and varying abilities and perspectives, interact with constantly. Your choices of defaults and customization options have direct impact on those humans.

                                                                  For example, color schemes determine whether color-blind people are able to quickly scan active vs inactive options and understand information hierarchy. Font sizes and contrast ratios can make the interface readable, difficult, or completely unusable for visually impaired people. The sizes of click targets, double-click timeouts, and drag thresholds impact usability for those with motor difficulties. Default choices of interface, configuration, and documentation language embed the project in a particular English-speaking context, and the extent to which your team supports internationalization can limit, or expand, your user base.

                                                                  With limited time and resources, you will have to make tradeoffs in your code, documentation, and community about which people your software is supportive and hostile towards. These are inherently political decisions which cannot be avoided. This is not to say that your particular choices are wrong. It’s just you are already engaged in “non-technical”, political work, because you, like everyone else here, are making a tool for human beings. The choice to minimize the thought you put into those decisions does not erase the decisions themselves.

                                                                  At the community development level, your intentional and forced choices around language, schedule, pronouns, and even technical terminology can make contributors from varying backgrounds feel welcome or unwelcome, or render the community inaccessible entirely. These too are political choices. Your post above is one of them.

                                                                  There is, unfortunately, no such thing as a truly neutral stance on inclusion. Consider: you wish to take only the best developers, and yet your post has already discouraged good engineers from working on your project. Doubtless it has encouraged other engineers (who may be quite skilled!) with a similar political view to your own; those who believe, for instance, that current minority representation in tech is justified, representing the best engineers available, and that efforts to change those ratios are inherently discriminatory and unjust.

                                                                  Policies have impact. Consider yours.

                                                                  1. 7

                                                                    I don’t know if that was your goal, but this is one of the best arguments for positive discrimination I’ve read. Thanks for posting it, and also thanks for noting that all decisions have some inherent politics whether we like it or not.

                                                                    Unfortunately there is simply no solution: positive discrimination is opposed to meritocracy. Forced ratios are definitely an unethical tool, as they are a form of discrimination. However, this unethical tool brings us to a greater good, which is a final product that incorporates diversity on its design and accommodates more users, which is a desirable goal on itself, for the reasons you explained.

                                                                    1. 4

                                                                      color schemes determine whether color-blind people are able to quickly scan active vs inactive options and understand information hierarchy. Font sizes and contrast ratios can make the interface readable, difficult, or completely unusable for visually impaired people. The sizes of click targets, double-click timeouts, and drag thresholds

                                                                      Let me see if I understand what you’re saying. Are you claiming that when color schemes, font sizes and drag thresholds are chosen that that is a political decision? I think that many people would find that quite a remarkable claim.

                                                                      1. 3

                                                                        It’s impossible to not be political. You can be “the status quo is great and I don’t want to discuss it”, but that’s political. The open source “movement” started off political - with a strong point of view on how software economics should be changed. In particular, if you say a CoC that bans people from being abusive is unacceptable, you are making a political statement and a moral statement.

                                                                        1. 3

                                                                          It’s impossible to not be political

                                                                          Could I ask you to clarify in what sense you are using the word “political”?

                                                                          Merriam-Webster (for example) suggests several different meanings that capture ranges of activity of quite different sizes. For example, I’m sure it’s possible to act in a way which does not impinge upon “the art or science of government” but perhaps every (public) action impinges upon “the total complex of relations between people living in society”.

                                                                          In what sense did you use that term?

                                                                          1. 4

                                                                            Let’s start off with a note about honesty. FRIGN begins by telling us “We do not believe in equal status (i.e. e.g. forcibly obtaining a 50/50 gender ratio)” as if someone was proposing the use of force to produce a 50/50 gender ratio - and we all know that wasn’t proposed by anyone. There’s no way to discuss this properly if people are going to raise false issues like that. What comment’s like FRIGN’s indicate is an unwillingness to have an open and honest conversation. The same bogus rhetoric is at the heart of Damore’s memo: he claims to be in favor of equal rights and just against mythical demand for 50/50 gender equality so that he can oppose obviously ineffective affirmative action programs at Google where 80% of technical staff are male (Damore’s misappropriation of science is similarly based on an objection to a position that nobody ever argued.).

                                                                            The next point is that some people are objecting that a CoC and a minority outreach program are “political”. That’s true, but it involves the use of the more general meaning of “political” which the Collins dictionary provides as “the complex or aggregate of relationships of people in society, esp those relationships involving authority or power”. If we are using that definition, of course a CoC and a minority outreach program are political, but opposition to a CoC and a minority outreach program fits the definition as well. If you have an opinion one way or another, your opinion is political. You can’t sensibly use this wide definition of political to label the effort to adopt a CoC and to recruit more minorities and then turn around and claim your opposition to those is somehow not political. So that’s what I mean by “it is impossible to not be political”. The question is a political question and those who try to claim the high ground of being objective, disinterested, non-political for their side of the question are not being straightforward (perhaps it’s just that they are not being straightforward with themselves).

                                                                            1. 3

                                                                              I agree that a CoC, a minority outreach program, and opposition to a CoC all impinge upon “the complex or aggregate of relationships of people in society, esp those relationships involving authority or power”.

                                                                              Would you also agree that there is a popular ideological political movement in favour of CoCs (some combination of the feminist, civil rights and social justice movements)? Perhaps there is also a popular ideological movement against CoCs (some combination of MRAs and the alt right). Are you also claiming that if one claims a “neutral” stance on CoCs one is de facto supporting one of these ideologies?

                                                                              1. 3

                                                                                I’m not sure it is possible to have a neutral stance. In fact, I doubt it.

                                                                                1. 1

                                                                                  Interesting! Do you also doubt it is possible to take any action that is neutral with regard to a political ideology?

                                                                                  1. 3

                                                                                    You are introducing something different. I don’t think you have to line up with one “side” or another, but you can’t avoid being a participant.

                                                                                    1. 1

                                                                                      You said “It’s impossible to not be political” so I’m trying to understand what you mean by that. So far I’m not clear whether you think every action is political. I’d appreciate it if you’d clarify your position.

                                                                                      1. 2

                                                                                        I’m making a very concrete assertion, which I sense does not fit into your schema. My assertion is that there is no neutrality on workplace equality and inclusion for anyone involved in the workplace. Anyone who, for example, participates in an open source development effort has a position on whether efforts should be made to make it more inclusive even if that position is “this is not important enough for me to express an opinion.”

                                                                                        1. 1

                                                                                          Thank you for clarifying. When you originally said “It’s impossible to not be political” I got the wrong impression.

                                                                                          Do you also hold the same point of view when it comes to roughly comparable statements in other spheres? For example ‘Anyone who eats has a position on vegetarianism even if that position is “this is not important enough for me to express an opinion.”’?

                                                                      2. 1

                                                                        You’ve been quoted by LWN: https://lwn.net/Articles/753709/

                                                                      3. 11

                                                                        AKA shut up and hack? :)

                                                                        1. 1

                                                                          The suckless development process has no non-technical discussions?

                                                                          How are the best developers identified?

                                                                          1. 8

                                                                            just curious, why would you need to identify the best developers? Wouldn’t the quality of their code speak for that?

                                                                            1. 5

                                                                              I also fail to see what the reasoning is. Just send your code, get the non technical discussions out.

                                                                              1. -1

                                                                                Apparently, quoting @FRIGN from above, “to make your software suck less.”

                                                                              2. 8

                                                                                How are the best developers identified?

                                                                                I think this is a totally reasonable question, and one I’d like to see the answer too–if for no other reason than it might help those of us on other projects find more objective metrics to help track progress with.

                                                                                Do you all at suckless use something like:

                                                                                • defect rate
                                                                                • lines of code/feature shipped
                                                                                • execution time
                                                                                • space in memory, space in storage

                                                                                Like, what metrics do you use?

                                                                                1. 7

                                                                                  You know, suckless is not a big company and the metrics that can be applied are more of a heuristic. A good developer is somebody who e.g. supplies a patch with a bug report, provides feedback to commits, makes contributions to the projects, thinks his commits through and doesn’t break stuff too often and does not personally identify with their code (i.e. is not butthurt when it’s not merged).

                                                                                  What needs to be stressed here is that the metric “lines of code” is completely off. There are horrible programmers who spit out lots of code and excellent ones who over time drop more lines than they add. Especially the latter group is very present among us and thus the LOC-metric will only give false results. Same with execution time, you find that when not enough time is spent on a problem you end up solving it wrong, in the worst case having to start all over.

                                                                            2. 5

                                                                              By being very diverse and doing fackelmärsche of course. https://suckless.org/conferences/2017/

                                                                              1. 3

                                                                                @FRIGN What’s the purpose of this “torchlight hike” in the context of producing code that sucks less? Don’t you see that the activities you choose to have during your conferences are a cultural stance, and because of that, can be perceived as exclusive by programmers that don’t recognize themselves in these activities?

                                                                                1. 0

                                                                                  I get your point, but must honestly say that your argument sadly aligns with the ever-excluding and self-segregating destructful nature of cultural marxism. By eating food together at the conferences, do we exclude anorexics that might otherwise be willing to attend such a conference? I don’t drink any alcohol and never have. Still, it was not a problem when we went to a local Braukeller and some people drank alcohol and others like myself didn’t.

                                                                                  The fundamental point I think is that one can never fully and analytically claim that a certain process is completely unaffected by something else. If we dive down into these details we would then move on and say that the different choice of clothings, hairstyle, means of travel and means of accomodation all affect the coding process at suckless. This can be taken further and further with no limit, as we all know about the butterfly effect. At some point it is just not measurable any more.

                                                                                  If you ask me, this is a gross overstretching of what I said. There are quite a lot of people who do not attend the conferences but still work together with us on projects during that time. What really matters is that we e.g. do not ignore patches from these people or give them less relevance than those of others. To pick the example up: The torchlight hike did not affect any coding decision in a direct way, but it really bonded the team further together and was a very nice memory of this conference that I and the others are very fond of from what I’ve heard. On top of that, during the hike we were able to philosophize about some new projects of which some have become a reality. The net-gain of this event thus was positive.

                                                                                  In classical philosophy, there are two main trains of thought when it comes to evaluating actions: Deontology and Teleology. Deontology measures the action itself and its ethical value, completely ignoring the higher goal in the process. Teleology is the opposite, evaluating actions only by their means to reach a goal, completely ignoring the value of the action itself. The best approach obviously should be inbetween. However, there is a much more important lesson that can be taken from here: When evaluating a decision, one needs to realize what they are measuring and what is unimportant for a decision. What I meant is that to reach the goal of software perfection, the gender and other factors of the submitters do not matter. So even though we here at suckless have a goal, we are not teleologists, as we just ignore the factors that do not matter for coding.

                                                                                  It is an ethical question which norms you apply to a decision.

                                                                                  If we look at organizations like Outreachy, one might be mistaken to think that they are deontologists, striving to improve processes. However, after closer inspection it becomes clear that this is not the case and they are actually working towards a certain goal, increasing the number of trans and minority people in such communities. No matter how you think about this goal, it makes one thing clear: When you are working towards such a goal and also do not ignore irrelevant factors in your norms (and they in fact do by not ignoring e.g. race and gender), you quickly end up discriminating against people.

                                                                                  I hope this clears this up a bit, but as a short sentence, what can be taken from here is: When discussing ethical matters, it’s always important to make clear which norms are applied.

                                                                                  1. 2


                                                                                    I’m not going to wade into anything else on this, but I’d like to just take a second and let you know that, while you may not mean it in this way the phrase “cultural marxism” is very, very often used as a stand in for “jews”. Some links for the record:


                                                                                    https://newrepublic.com/article/144317/trumps-racism-myth-cultural-marxism https://www.smh.com.au/world/cultural-marxism--the-ultimate-postfactual-dog-whistle-20171102-gzd7lq.html

                                                                                    1. 3

                                                                                      It’s not my fault that some idiots don’t understand this term or it’s critical analysis. Cultural marxism, as the term implies, is the classical theory of marxism applied to culture. It has nothing to do with jews directly, it’s just an idea. If you know any better term to describe it, please let me know.

                                                                                      Anyway, in the philosophical realms it’s known as ‘Critical Theory’, which originated in the Frankfurt School. However, nobody knows this term.

                                                                                      Unless a better term is found, I disregard your argument and won’t accept your attempt to limit language of perfectly acceptable words to describe an idea. At the end of the day, terminology must be found that adequately describes what a certain idea is, and I see no reason why this should be wrong.

                                                                                      Regarding the torch hike: Yes, marching with torches was abused by the NSDAP as a means of political rallying. However, at least in Germany, it is a much older and deeper-reaching tradition that dates back hundreds of years.

                                                                                      1. 0

                                                                                        You have amply demonstrated that you don’t know anything about the topic. You could start with the decent Wikipedia article. https://en.wikipedia.org/wiki/Frankfurt_School

                                                                                      2. 2

                                                                                        wow, uh, kind of a weird red flag that pointing this out is getting seriously downvoted. I picked these links pretty quickly, and anybody who comes behind and reads this and wonders how serious this is, do yourself a favor and image search and see how many memes have the star of david, greedy merchant, world strangling octopus or any of a number of openly anti-semitic imagery. Its not hidden, its not coy. If you’re tossing “cultural marxism” around you’re either willfully ignoring this or blatantly playing along. Its not a thing in the world. There are no leftists (at all) who call themselves “cultural marxists”, and in fact there is a sizeable faction of marxists who are openly disdainful of any marxism that eschews political struggle. The new republic article linked above goes into this, Perry Andersons “Considerations on Western Marxism”, a well known, well regarded text across a number of marxist subsects, is explicitly based on this. Anyway, enjoy contributing to a climate of increasing hostility toward jews. good stuff.

                                                                                        edit: have some fun with this https://www.google.com/search?q=cultural+marxism&client=firefox-b&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjz2tWrhvnaAhUJ7YMKHVgcCccQ_AUIDCgD&biw=1247&bih=510#imgrc=_

                                                                                        1. 1

                                                                                          The term ‘Cultural Marxism’ describes very well what it is, and not all leftists are cultural marxists. The classical theory of marxism, roughly spoken, is to think of society as being split in two camps, the Proletariat and the Bourgeoisie, eternally involved in a struggle, where the former is discriminated against and oppresed by the latter.

                                                                                          Cultural Marxism applies these ideas to society. In the Frankfurt School it was called ‘Critical Theory’, calling people out to question everything that was deemed a cultural norm. What is essentially lead to was to find oppressors and oppressed, and we reached the point where e.g. the patriarchy oppressed against women, white people against minorities, christians against muslims and other religions and so forth. You get the idea. Before you go again rallying about how I target jews or something please take a note that up to this point in this comment, I have just described what cultural marxism is and have not evaluated or criticized it in any way, because this here is the wrong platform for that.

                                                                                          What you should keep in mind is that the nature of cultural marxism is to never be in a stable position. There will always be the hunt for the next oppressor and oppressed, which in the long run will destroy this entire movement from the inside. It was a friendly advice from my side to you not to endulge in this separatory logic, but of course I understand your reasoning to the fullest.

                                                                                          Just as a side note: I did not see you getting ‘seriously’ downvoted. What do you mean?

                                                                                          1. 2

                                                                                            It’s uncommon to find such a well-put explanation; thanks for that.

                                                                                            There will always be the hunt for the next oppressor and oppressed, which in the long run will destroy this entire movement from the inside.

                                                                                            If the movement runs out of good targets (and falls apart because they can’t agree on new ones), wouldn’t that imply that it will self-destruct only after it succeeds in its goals? That doesn’t sound like a bad thing.

                                                                                            1. 1

                                                                                              I’m glad you liked my explanation. :)

                                                                                              That is a very interesting idea, thanks for bringing this thought up! It’s a matter dependent on many different factors, I suppose. It might fall apart due to not being able to agree on new targets or when everybody has become a target, but it is a very theoretical question which one of these outcomes applies here.

                                                                                            2. 1

                                                                                              Did you actually read any of the links I posted? Specifically the New Republic and SPLC links? I don’t know how else to say this and you pretty much side stepped what I said the first time so I’ll try to reiterate it: There is no such thing as “Cultural Marxism”. At all. Its not a descriptive category that any marxist actually self applies or applies to other marxists. I’m fully aware of the Frankfurt School, Adorno, Horkheimer, etc. I’ve read some of them and many, many of their contemporaries from Germany, people like Karl Mannheim. I read marxist publications everyday, from here in the states and from Europe. I’m a member of an explicitly marxist political party here in the states. I can’t emphasize this enough, “cultural marxism” isn’t real and is roughly on par with “FEMA camps”, “HARRP rays” and shape shifting lizard jews, meaning; its a far far right wing paranoid fantasy used to wall off people from other people and an actual understanding of the material conditions of their world. I also didn’t say, specifically in fact pointing out that I wasn’t saying this, that you were “targeting jews”. That being said, if you use a phrase that has its origins in anti-semitic polemics, is used explicitly and over-whelmingly by anti-semites, than that is on you. (Did you take a look at the linked image search? Does that sort of thing not give you pause?) To say that you “just described what cultural marxism is” is also inaccurate, you absolutely used it in a descriptive way

                                                                                              I get your point, but must honestly say that your argument sadly aligns with the ever-excluding and self->segregating destructful nature of cultural marxism.

                                                                                              White supremacist organizing is experiencing an enormous upsurge, not only here in the states but in Europe as well. From Le Pen to AfD to SVO in Austria and on and on. These people are not interested in polite conversation and they’re not using “cultural marxism” as a category to illuminate political opponents, its meant to denigrate and isolate, ironically given thats exactly what Neo Nazis and white supremacists here in the states accuse left wingers and “SJWs” of doing.

                                                                                              I appreciate that you’re discussing this peacefully but I’m going to bow out of this thread unless you’re interested enough to take some time and read the links

                                                                                              FWIW these also dismantle the trope and point out pretty much exactly what I’m saying around anti-semitism: https://www.vice.com/en_us/article/78mnny/unwrapping-the-conspiracy-theory-that-drives-the-alt-right https://www.theguardian.com/commentisfree/2016/feb/22/chris-uhlmann-should-mind-his-language-on-cultural-marxism

                                                                                              1. 2

                                                                                                I took some more time to read it up and from what I could see, I found that indeed cultural marxism has become more of a political slogan rather than a normal theoretical term in the USA.

                                                                                                Here in Germany the term “Kulturmarxismus” is much less politically charged from what I can see and thus I was surprised to get this response after I just had “translated” this term into English. It might be a lesson to first get some background on how this might be perceived internationally, however, it is a gigantic task for every term that might come around to you.

                                                                                                So to reiterate my question, what term could be better used instead? :)

                                                                                                1. 1

                                                                                                  interesting that it has a different grounding/connotation in Germany, but then again I’m not surprised since thats where its supposed to have originated from. I’ll reread your other posts and come up with a response thats fair. Thanks for taking the time to read those links.

                                                                                              2. 1

                                                                                                Generally people who use “cultural marxism” as a pejorative are sloganeering. The idea of an “eternal struggle” is completely foreign to any kind of marxism which is based on a theory that classes come out of the historical process and disappear due the historical process. Marxism claims that the proletariat and bourgeosie are temporary divisions that arise from a certain type of economic organization. Whatever one thinks of that idea, your characterization of Marxism is like describing baseball as a game involving pucks and ice. Your summary of “cultural marxism” is even worse. Maybe take a class or read a decent book.

                                                                                  2. 17

                                                                                    I’m not going to remove this because you’re making a public statement for suckless, but please don’t characterize positions you disagree with as madness. That kind of hyperbole generally just leads to unproductive fights.

                                                                                    1. 9

                                                                                      Please don’t remove anything unless it’s particularly vulgar…

                                                                                      1. -1

                                                                                        Removing differing viewpoints? It is precisely this kind of behavior that maddens people who complain about SJW, who (the SJW) seem unable to take any discussion beyond calling their opponent’s position “evil”, “alt-right”, “neo-nazi”, or, if they are exceptionally well-spoken, “mad”.

                                                                                        1. 14

                                                                                          No, removing abuse and hyperbole that acts as flamebait regardless of the political opinions expressed. So far I’ve removed one post and hope not to remove more.

                                                                                          1. 2

                                                                                            It’s hard for me to see a reason to remove things when we have the voting system in place, neither are perfect but one is at your sole discretion whereas the other is the aggregate opinion of the users.

                                                                                            1. 21

                                                                                              Voting isn’t a replacement of moderation. It helps highlight and reward good comments and it can punish bad comments, but it’s not sufficient for running a community. I’m trying to head off places where people give up on argument and just try to hurt or tar the people they disagree with because it doesn’t lead to a good community. Lobsters is a very good place for discussing computing and I haven’t seen that in communities this size with hands-off moderation (but I’d love counter-examples to learn from!) From a quick query, we’ve had comments from 727 unique users in the last 30 days and there’s around 15k unique IPs in the logs per weekday, so people are constantly interacting with the others who don’t know their background, don’t share history, can’t recognize in-jokes, simply don’t have reason to trust when messages are ambiguous, let alone provocative. Friendly teasing like “ah yeah, you would think that” or “lol php sucks” that’s rewarding bonding in a small, familiar group hurts in a big one because even if the recipient gets the joke and laughs along or brushes it off as harmless, it’s read by thousands of people who don’t or can’t.

                                                                                              1. 2

                                                                                                Lobsters is a very good place for discussing computing and I haven’t seen that in communities this size with hands-off moderation

                                                                                                I support your position on sub-topic but even my Trial you linked to shows a bit otherwise on just this point. This site has more flexible, hands-off moderation than many I’ve seen with this much political dispute. Even in that link, we saw an amount of honest, civility, and compromise I don’t usually see. There’s been quite a bit better results in this thread than usual elsewhere. There seems to be enough community closeness despite our size that people are recognizing each others positions a bit. Instead of comments, you can actually see it by what’s not said more since it’s prior ground we’ve covered. The others are learning as discussion furthers. Then, there’s the stuff we don’t want which seems to be basically what those individuals are intending in a way that has nothing to do with site’s size.

                                                                                                So, I support you getting rid of just pure abuse, trolling, sockpuppeting, etc. I don’t think we’ve hit the full weaknesses and limited vision of large sites yet despite our increase in comments and views. We’re still doing a lot better than average. We’re still doing it with minimal intervention on things like politics relative to what I’ve seen elsewhere. I think we can keep at current moderation strategy for now because of that. For now.

                                                                                                Just wanted to say that in the middle of all this.

                                                                                                1. 0

                                                                                                  Voting isn’t a replacement of moderation. It helps highlight and reward good comments and it can punish bad comments, but it’s not sufficient for running a community.

                                                                                                  I’m not sure if I see why it’s not a good replacement. To me, I see voting as distributed moderation and the “real” moderation is automatically hiding (not removing) comments when they fall below a threshold.

                                                                                                  I’m trying to head off places where people give up on argument and just try to hurt or tar the people they disagree with because it doesn’t lead to a good community.

                                                                                                  I think this method relies on an accurate crystal ball where you can foresee people’s actions and to an extent, the reactions of the people reading the comments.

                                                                                                  I’d have to question what you mean by “a good community”, it seems like it’s just a place where everyone agrees with what you agree with and those that disagree aren’t heard because it risks offending those that do agree.

                                                                                                  I think the best discussions on here are because we have many people with wide and varied opinions and backgrounds. The good comes from understanding what someone else is saying, not excluding them from the discussion. The only places I see that warranted is where someone has said something purposely and undeniably vile.

                                                                                                  1. 8

                                                                                                    The automatic hiding of low-scoring comments is also a “sole discretion” thing; jcs added it and I tweaked it a few months ago. The codebase enforces a lot of one moderator’s ideas of what’s good for a community in a hands-off way and the desire to do that motivated its creation.

                                                                                                    I strongly agree that a community where everyone agrees with the moderator would be bad one, even if I am that moderator. It’s tremendously rewarding to understand why other people see things differently, if for no other reason than the selfish reason that one can’t correct learn or correct mistakes if one never sees things one doesn’t already agree with.

                                                                                                    I think the crystal ball for foreseeing problems is experience, from many years of reading and participating in communities as they thrive or fail. I think it’s possible to recognize and intervene earlier than the really vile stuff because I’ve seen it work and I’ve seen its absence fail. I keep asking for examples of excellent large communities without active moderators because I haven’t seen those, and after a couple decades and a few hundred communities I see the anthropic principle at work: they don’t exist because they self-destruct, sink into constant vileness, or add moderation. At best they have maintain with signal-to-noise ratios far below that of Lobsters where the thoughtful commentary is crowded out by trolling, running jokes, ignorance, and plan low-quality comments because it doesn’t seem worth anyone’s while to care when posting.

                                                                                                    But moderation is not a panacea in and of itself. Without good experience, judgment, and temper a bad moderator swiftly destroys a community, and this is a very common way communities fail. If it helps any, the author of the comment I removed agrees that it wasn’t done to suppress their opinion.

                                                                                                    1. 1

                                                                                                      The benefit I see from moderation being part of the codebase is that it’s public, predictable and repeatable (it terms of reliability). When you take moderation decisions into your own discretion many of these virtues are lost.

                                                                                                      As for experience, I think that’s tricky because it can easily lead you to making the same mistake twice. It’s also made of your personal experiences and you’re using that to curate the discussion of other people, I would caution that it’s another method of controlling dialog (perhaps subconsciously) to what you find acceptable, not necessarily what’s best for everyone.

                                                                                                      1. 3

                                                                                                        The benefit I see from moderation being part of the codebase is that it’s public, predictable and repeatable (it terms of reliability). When you take moderation decisions into your own discretion many of these virtues are lost.

                                                                                                        Most of them go into the Moderation Log. I’ve been watching it since the jcs days since it’s what folks are supposed to do in a transparent, accountable system. Gotta put effort in. I haven’t seen much of anything that bothered me. The bans and deletes I’ve been able to follow @pushcx doing were trolling, alleged sockpuppeting, and vicious flamewaring. Some I couldn’t see where I’d rather the resource go off the front page rather getting deleted so someone looking at logs could see it for whatever it was. Nonetheless, his actions in the thread about me, the general admining, and what I’ve seen in moderation have been mostly good. A few really good like highlighting the best examples of good character on the site. I think he’s the only one I’ve seen do that on a forum in a while.

                                                                                                        You have little to worry about with him in my opinion at the moment. Do keep an eye on the comments and log if you’re concerned. Scrape them into version storage if concerned about deletions. What goes on here is pretty public. Relax or worry as much as you want. I’m more relaxed than worried. :)

                                                                                                        1. 3

                                                                                                          Yeah, I agree on the pitfalls of experience. As SeanTAllen noted in a separate branch of this thread a minute ago, there’s “but you didn’t say” and other wiggle room; I think that’s where automatic moderation falls down and human judgment is required. Voting has its own downsides like fads, groupthink, using them to disagree (which is all over this thread), in-jokes, a drifting definition of topicality, all the parallels to the behaviors of political rhetoric, etc. Lobsters has never been voting only and I don’t see a compelling reason to change that. jcs’s involvement in the site was steadily declining so I’m certainly more actively moderating, but I don’t see that as a change in character. I guess what it comes down to is that I agree with you about what successful communities do and don’t look like, but I haven’t seen one that works on the model you’ve outlined and I don’t see that kind of fundamental change as a risk worth taking.

                                                                                              2. 1

                                                                                                So FRIGN writes to oppose “SWJ madness”, and you chime in to complain that “SWJ” calls opponents “mad”. Are you calling FRIGN “SWJ” or what? It’s kind of hard to discern your point in that cloud of grievance.

                                                                                                1. 1

                                                                                                  “SJW” for “social justice warrior.”

                                                                                                  @COCK is sarcastically non-replying because you typo’ed.

                                                                                                  1. 2

                                                                                                    Not exactly, I was sarcastically non-replying because I assumed he was intentionally misunderstanding me. I assumed this because I didn’t see any ambiguity in my answer. On later inspection I noticed the ambiguity so I gave an actual reply:


                                                                                                    1. 1

                                                                                                      The interesting thing is how people agreeing with Mr. cock pile on the insults against the people who they complain are insulting them by forcing them to sign on to codes of conduct which prohibit insults. It’s almost as if there was a good reason for those codes.

                                                                                                      1. 1

                                                                                                        I doubt the irony is lost on anyone supporting a CoC.

                                                                                                    2. -1

                                                                                                      Yes, I’m calling FRIGN a “SWJ”.

                                                                                                      1. -1

                                                                                                        Yes, well, one sympathizes with your plight.

                                                                                                        1. 2

                                                                                                          Ah now I see the ambiguity: “people who complain about SJW, who…” the “who” referred to the “SJW”, not the “people”

                                                                                                    3. 1

                                                                                                      The only comment that was removed was against FRIGN point of view. Nobody is removing differing point of view, just enforcing civil discussion.

                                                                                                  2. 4

                                                                                                    It’s responses like yours that really make the case for codes of conduct.

                                                                                                    1. 2

                                                                                                      Are you speaking for the group or is that your own opinion? Knowing that the group aligns itself with that position would certainly make me not interested in working with it or contributing.

                                                                                                      1. 6

                                                                                                        To be fair, suckless is not well-organised enough to be a group that can have a single opinion to be spoken for.

                                                                                                        That said, FRIGN is a prominent contributor and I from what I’ve seen most contributors are heavily on the side of “the code will speak for itself”.

                                                                                                    1. 13

                                                                                                      As a mathematician, I object to the general notion of this article and want to state that pretty much all of the given examples either are just examples of peculiar notation (e.g. the Euler sum notation) or are not a problem at all. A polynomial f(x) (from R[x]) is different from its evaluation function. Given this is all treated the same by non-mathematicians and many mathematicians who are not well-versed with algebra it leads to these misunderstandings.

                                                                                                      1. 11

                                                                                                        You think summation notation is very peculiar or outlandish?

                                                                                                        As I understand it, Jeremy isn’t saying that these are real problems. He’s just trying to tell programmers that they have the wrong concept of how mathematicians work. We totally say let x = 5, no, wait, let’s make x = 6 instead, and it’s ok. We’re not some kind of Haskellian logical machine where every symbol has a fixed meaning. We often use the same symbol to mean different things. We’re humans. We rely on context and habit. When programmers hold mathematicians up to some idealised perfection, they’re doing us a disservice. We don’t work like that.

                                                                                                      1. 6

                                                                                                        That’s the most sensible and collectivism-free piece of RMS’s writing I’ve read in a long time. Bravo.

                                                                                                        1. 26


                                                                                                          What does that even mean

                                                                                                          1. 1

                                                                                                            I’ll let @Sophistifunk speak for emself, but I read this as referring to Stallman’s fundamental mistrust of proprietary anything.

                                                                                                            1. 4

                                                                                                              Ok, now why is that supposed to be “collectivist”?

                                                                                                              1. 1

                                                                                                                What the hell is “nur”?

                                                                                                                1. 2

                                                                                                                  A typo made by my oversensitive Samsung keyboard on my phone, which was set to German. “Nur” is German for “only so ultimately, it wasn’t that horrible.

                                                                                                                2. -1

                                                                                                                  OK, let’s look at the definition:

                                                                                                                  col·lec·tiv·ist kəˈlektivəst/ adjective adjective: collectivist

                                                                                                                  relating to the practice or principle of giving a group priority over each individual in it.
                                                                                                                  "collectivist cultures had disciplined and cooperative work forces"

                                                                                                                  Stallman’s basic assertion is that individuals should not profit from the creation of software. They may profit from supporting said software, but in his view, software should always be free. I see this as a fundamentally collectivist philosophy.

                                                                                                                  1. 9

                                                                                                                    Stallman’s basic assertion is that individuals should not profit from the creation of software.

                                                                                                                    What, no:

                                                                                                                    Actually, we encourage people who redistribute free software to charge as much as they wish or can. […] Distributing free software is an opportunity to raise funds for development. Don’t waste it!


                                                                                                                    1. 2

                                                                                                                      Setting aside that “the definition” is rarely a good argument in open-ended discussions, like these, Stallman doesn’t say that Individual aren’t allowed to profit from Free Software. It’s explicitly allowed and I remember having have read that Emacs used to be sold this way, before the internet, to fund the FSF. And secondly, it doesn’t matter if the software is sold by one person (an individual) or a company (a collective), the rules the GPL sets up stays the same: share your source while distributing software, recursively, exactly by intelligently twisting copyright law back against itself.

                                                                                                                      And in the end, the four software freedoms were formulated to protect individuals from harmful sodtware, as well as give them the ability to improve upon it, based on their needs.

                                                                                                                      This is just another example of how empty of an actual meaning the word “collectivism” actually is in practice.

                                                                                                                  2. 2

                                                                                                                    What the hell is “emself”?

                                                                                                                    1. 8

                                                                                                                      A polite way to refer to someone when you don’t know their gender.

                                                                                                                      1. 3

                                                                                                                        I’ve never seen that before. What’s wrong with “themself”? Does it in some way discriminate against one of the two genders?

                                                                                                                        1. 2

                                                                                                                          “themself” isn’t an established word either so i guess people pick and choose

                                                                                                                      2. 7

                                                                                                                        At the time of writing I had no idea whether @Sophistifunk was a him or a her. https://en.wikipedia.org/wiki/Spivak_pronoun

                                                                                                                        1. 5

                                                                                                                          That’s one of the better singular pronouns I’ve seen. It reads like a shortening of plural “them”.

                                                                                                                          1. 8

                                                                                                                            “they” and “them” are already well established in usage as singular pronouns.

                                                                                                                            1. 3

                                                                                                                              So you’re saying “I’ll let @Sophistifunk speak for themself” is correct usage in this case?

                                                                                                                              I’m not a grammar expert, so I’ll defer to your greater knowledge. I like and use Spivak because, as @pushcx said, it’s a polite way to express “I have no idea what the gender of the person I’m referring to is.”

                                                                                                                              1. 7

                                                                                                                                Singular “they” has been used in English for hundreds of years. “Themself” is also ancient but was replaced by “themselves” in the 16th century. However, it has recently made a comeback.

                                                                                                                                “I’ll let @Sophistifunk speak for themselves” is perfectly correct formal English. “I’ll let @Sophistifunk speak for themself” is also correct by any reasonable standard, but may be considered informal by some readers.

                                                                                                                                The OED has a blog entry about ‘themself’.

                                                                                                                                1. 2

                                                                                                                                  I still like Spivak, but thanks for the pointer. That’s good to know :)

                                                                                                                                2. 3

                                                                                                                                  Mirriam-Webster has examples of how “they” is used for indefinite gender and number: https://www.merriam-webster.com/dictionary/they

                                                                                                                                  They don’t have an entry for the word “themself” and suggest “themselves” instead: https://www.merriam-webster.com/dictionary/themself

                                                                                                                      3. 1

                                                                                                                        I mean that it’s free of the “narrow-scope-communism” he’s usually on about. I don’t think I’m putting false words in his mouth if I say he firmly believes non-communal ownership of software (in the sense you can restrict what others do with it) is some sort of moral wrong and should be fought on all fronts. But I don’t want to call him a communist in the general sense, because he doesn’t go around saying private property in general is evil, just private property in the form of bits.

                                                                                                                        1. 5

                                                                                                                          Maybe everything to your left looks communist-ish, but I can tell you for sure he’s not a communist. More like a typical left-leaning liberal, but not too much.

                                                                                                                          1. 1

                                                                                                                            But I don’t want to call him a communist in the general sense, because he doesn’t go around saying private property in general is evil

                                                                                                                            Was that somehow unclear?

                                                                                                                    1. 10

                                                                                                                      Yet more reasons to not copyleft software.

                                                                                                                      1. 15

                                                                                                                        What gets more contributions in code or dollars by companies using it right now? BSD/Apache or GPL software? And on top of that, which gets used the most by companies intending to turn the use into money to pay for laws and court decisions to limit software compatibility or freedom?

                                                                                                                        Those are a start at answering which to do if wanting mutually-beneficial uptake. I think the second question isn’t addressed nearly enough by GPL opponents. Saying that as a long-time advocate of BSD-style licenses that really reconsidered after watching the patent and API copyright action over time.

                                                                                                                        1. 5

                                                                                                                          I’ve been through the experience of releasing software that was under a license (non-copyleft) banned by Google. The effect was clear: fewer people used it. I used said license as an ideological statement that reflected my views on copyright, but I simultaneously wanted as many people as possible to use the code I wrote. My goals were at odds with each other. I ended up switching the license.

                                                                                                                          Using a license on Google’s banned list has network effects that people might not account for. This banned license list doesn’t just apply to Google’s internal proprietary code, but also to their open source projects. If your library can’t be used in those, then people will find an alternative, or, failing that, create one themselves. The network effects of this should be obvious: “what library should I use for Foo?” “well, Google’s Huge Important Open Source Project Used By Very Serious People uses Quux for Foo, so that’s probably a safe bet.” There are other manifestations for this. For example, even if most people didn’t care about my non-standard license, the fact that Google does means that they are going to find and use an alternative for it. Google has a very large presence in open source, which means there is going to be a point at which you download some project and it might have both the library Google’s using for Foo and perhaps my own library for Foo, and now you get people being (quite reasonably) annoyed that they have two different dependencies in their chain for solving the same problem. Guess which one is going to win when an enterprising individual endeavors to consolidate their dependency graph?

                                                                                                                          Invariably, the ideological goal I set out with is tied to the goal of people using the code. If people don’t use it in the first place, then the whole point of using a different license to raise awareness about my cause will be for nothing.

                                                                                                                          Despite the fact that some people are “insulted” by non-standard licenses, I do still find occasion to express my views through my licensing choice, but I’ve found better ways to balance my goals.

                                                                                                                          I could use the above to be “mad” at Google, I guess, for being an Evil Corp that bullies the Small Guy via a complex struggle in power. And yeah, it was definitely a frustrating process to go through, and I was really stubborn about it for a long time. But that didn’t get me anywhere. I’m not a very good ideologue, and I can definitely understand why lawyers are reasonably unreasonable about these things, so there you have it.

                                                                                                                          (FWIW, I left my initial comment in this thread mostly out of annoyance that @pizzaiolo decided to thumb their nose at the submission guidelines.)

                                                                                                                          1. 1

                                                                                                                            I appreciate the detailed response. It seems your concern is that Google’s network effects will boost both contributions to and adoption of a lot of code. If Google won’t use it, you loose that. So, you want to maximize adoption by building things that Google specifically might use. Maybe also any other company with similar acquisition policies. That does make sense if Google’s (or their) pull is literally that great or you’re willing to put all your eggs in one basket (theirs). On other hand, it might not for a project that can get contributors without Google’s support. There seems to be plenty of those. The default for FOSS in general on use/contribute ratio or sustainability is pretty bad, though.

                                                                                                                            I keep coming back to solving this problem by actually selling FOSS to companies in form of licensing, consulting, and/or support. What the proprietary companies do but without the restrictions or lock-in. The main, revenue stream will indirectly finance dependencies that are packaged in their own libraries under FOSS licenses. People might contribute to them. If they don’t, they can still be maintained from revenue. The bigger benefit is that enough FOSS companies pulling in lots of money can afford to fight big companies threatening the FOSS model by using media and lobbying campaigns. Google is actually one of the few, tech companies that’s been doing that on Washington fighting incumbents in areas that threaten them like net neutrality or copyright.

                                                                                                                            1. 2

                                                                                                                              So, you want to maximize adoption by building things that Google specifically might use.

                                                                                                                              Well… no. I didn’t say that. I don’t wake up in the morning and think, “Oh I can’t wait to get home from work and spend time on my side project with the hope that Google will use it!” What I’m saying is that if you use a license that is banned by large companies (Google being one of them) that have influence in open source, then you’re handicapping the likelihood that others will use your code right out of the gate. Not everyone cares about that because not everyone has the same goals.

                                                                                                                              On other hand, it might not for a project that can get contributors without Google’s support. There seems to be plenty of those.

                                                                                                                              Again, that’s not what I said. It isn’t necessarily just about contributors, but also about use. Please remember that I’m describing my own experience with this. I observed the network effects first hand. What you do with that information is totally up to you, and outside the scope of what I want to discuss. :-)

                                                                                                                              1. 2

                                                                                                                                Well, if you’re just talking about big companies, then your position still makes sense where people aiming to get more use or contributions from them have to use compatible licenses. What large companies allow varies both for the general case and sometimes by what a specific piece of software will do. For instance, they use a lot of proprietary software with restrictive licenses even though they don’t like the licenses.

                                                                                                                                Maybe I should try to assess what happens with network effects of FOSS components that are being sold to same big companies. As in, they got them not because they’re FOSS but because they’re useful with great price and flexible licensing. If it’s a copyleft, it would have to be isolated as one application or service doing a specific thing so they didn’t worry about effect on other software. From there, it gets a lot of use with potential network effects kicking in because of large uptake. It might get contributions from companies using it just because they depend on it. There’s quite a few ecosystems out there of people doing open enhancements on proprietary stuff just because it’s what they use at work. Especially Microsoft and IBM.

                                                                                                                                There’s some overlap between what you were doing and this other model. Main difference is yours will get more pull where this one will need to be pushed. I don’t know if a push is inherently a bad thing if it delivers long-term benefits the solutions getting pulls don’t. It could be bad for specific authors, though, if they’re aiming for pulls like you were.

                                                                                                                          2. 12

                                                                                                                            So you’re fine with the requirement that I can’t license a program under ISC or anything non-GPLv3 for what it’s worth, when I intend on linking a GPLv3 library to it?

                                                                                                                            The goals of copyleft are laudable, but we regularly get upstream patches, also from Google employees, even though we use MIT/ISC only. And this carries on to many other projects.

                                                                                                                            If you really care about freedom by definition, you won’t use copyleft licenses, as copyleft limits your freedoms. On the other hand, copyleft is an effective tool to “force” people not to close down changes to code, obviously.

                                                                                                                            In reality though, I have found those companies not contributing back to suck at coding anyway. Those who do have a healthy idea of open source. Maybe that’s why most GNU-software sucks so much.

                                                                                                                            The discussion about copyleft or not is very similar to those about affirmative action or female quotas. By definition, e.g. female quotas discriminate against males as even males with higher qualifications get sorted out against females with lower qualifications. Anyone believing in equal rights rather than equal status will oppose that. Those who defend female quotas bring up terms like the “patriarchy” justifying it.

                                                                                                                            The motivation for the GPL is that companies are “by definition evil”. Sure, their drive is to make money and have power over you. Free software is a loophole in this regard. However, especially in the last few years, most companies have realized that it makes sense to just build upon open source and contribute back, especially for security relevant stuff, effectively negating the GPL-narrative. Apart from that, GPL-violations are rarely uncovered, so I’m pretty sure GPL-software is still used for nuclear warheads and there’s nothing you can do about it.

                                                                                                                            It was different in the 90’s and 00’s, but I only care about today and new code.

                                                                                                                            Stop taking yourself so important, as in the end, it’s about people in general benefitting from free software. And there are numerous examples where companies would’ve never considered open source solutions if they hadn’t been licensed permissively. For the advocates of the GPL, especially v3, it’s more about an agenda to turn all open code into GPL-code, and I’m sick of their propaganda and FUD.

                                                                                                                            1. 8

                                                                                                                              However, especially in the last few years, most companies have realized that it makes sense to just build upon open source and contribute back,

                                                                                                                              It was different in the 90’s and 00’s, but I only care about today and new code.

                                                                                                                              I suggest looking at firmware based on Linux on Android devices, and many embedded devices. The GPL is the only reason any of them ever even comes close to publishing source, and most still won’t.

                                                                                                                              You’re seeing a very small subset of companies if you look at those contributing to BSD/MIT/Apache2 licensed software.

                                                                                                                              And even Google has stopped contributing to most open source projects it once started, Android for example is almost entirely proprietary now, not even the call app is fully open source anymore.

                                                                                                                              1. 11

                                                                                                                                If you really care about freedom by definition, you won’t use copyleft licenses, as copyleft limits your freedoms.

                                                                                                                                “Using GPL / is encroaching on our rights / to encroach on yours”

                                                                                                                                1. 5

                                                                                                                                  They wrote 8 paragraphs and this is all you get from them?

                                                                                                                                  Yes, the GPL is encroaching on your rights to licence your software properly. If you’d like to add a non-commercial clause to your licence, for example, tough luck. It wouldn’t be GPL-compatible. If you’d like to take the advice above and add a clause that specifies your software can’t be used in relation to weapons research or advertising, tough luck! It’s not GPL-compatible. You’ll have to reimplement everything. That would otherwise be covered by open source libraries.

                                                                                                                                  From what I’ve seen, the GPL is mostly used by companies to keep their software in some weird middle between proprietary and open source. In other words to restrict the rights to compete. If someone wants to take the software and improve it to compete directly with the company that started it, they have another company with relatively endless resources and rights to all of the improvements they’ve done breathing down their neck. So if they do anything meaningful, companies can take back the improvements and take back their head and leave the contributors/competitors in the gutter. The GPL is good for protecting code, not for sharing it, is what I’m getting at.

                                                                                                                                  1. 11

                                                                                                                                    Frankly I don’t blame them, the author pretty soon makes an ad hominem (GNU-software sucks), then diverts into a highly controversial topic(Affirmitive action), then a straw man (The motivation for the GPL is that companies are “by definition evil”.) if that were the case wouldn’t the GPL permit non-commercial restrictions.

                                                                                                                                    If you’re a free software advocate not reading past the first three paragraphs is probably the most generous thing you could do in this discussion because everything after that just weakens the argument they made.

                                                                                                                                    One could argue with FRIGN’s logic that if a business is afraid to use GPL/AGPL, that it’s the same as companies that are not contributing back. They are afraid that if they MUST share code in the future that it will harm them in some way. They probably suck at coding anyway.

                                                                                                                                    1. 3

                                                                                                                                      Frankly I don’t blame them, the author pretty soon…

                                                                                                                                      It’s why I ignored the comment in favor of xi’s which just made specific points about software licensing that we can discuss. Much more productive approach. :)

                                                                                                                                      “One could argue with FRIGN’s logic that if a business is afraid to use GPL/AGPL, that it’s the same as companies that are not contributing back. “

                                                                                                                                      Most software doesn’t directly contribute a competitive advantage to the business using or developing it. Most software is closed by default. Most use of open source software, permissive or not, involves no financial, code, or documentation contributions back from companies by default. I think these things tell us some foundational things about both the nature of how businesses will approach software and what we might get them to do. How to specifically react to these is, of course, very open for discussion and experiment. I’d like to see more experiments with business models built on free software, though. To me, it seems no harder than building the product in the first place esp if GPL components are properly isolated from hard-to-copy stuff that companies are paying for. Finally, if there’s low-cost copycats, one can always differentiate on great, face-to-face service and reputation.

                                                                                                                                    2. 3

                                                                                                                                      Yes, the GPL is encroaching on your rights to licence your software properly.

                                                                                                                                      The GPL is a license for other people’s software that says you can benefit from their work for free so long as you follow specific conditions, especially sharing your work back with them. It’s not your rights given it wasn’t your work to begin with assuming we’re thinking of software as something to be owned like in copyright law. When your work becomes the issue, you’re surveying others’ work that you might want to benefit from that come with various licenses. You get to choose which one you want based on your beliefs of how your own contributions should be licensed. GPL proponents might build on GPL. GPL opponents might build on another. Maybe something is there to use. Maybe you have to build it yourself due to no code compatible with your beliefs. Nobody has forced you to use GPL software: you simply are choosing whether to build on someone else’ work following their usage requirement or doing something different.

                                                                                                                                      Your weapons example fits in my model nicely where it’s simply not compatible with GPL. Therefore, you’d look for code licensed differently. You might another person doing work for you for free had a license compatible with your expectations. Whereas, the GPL code would continue benefiting others without that extra requirement.

                                                                                                                                      “In other words to restrict the rights to compete.”

                                                                                                                                      This is a myth, too, given there’s a billion dollar business built on FOSS plus many smaller players that charge for it. Most don’t charge for it. So, they’re just not competing. Whereas, non-competitive practices in proprietary software were the norm. Most customers of the biggest software companies say the switching cost being prohibitive is a big reason they stay on the platform. The switching cost came from lock-in via proprietary languages, data formats, protocols, etc. People building on those that are open switch suppliers all the time even on major systems like databases.

                                                                                                                                      As I said in a previous comment, the biggest threat to competition are companies that are bribing politicians to keep copyright and patent laws in a state that makes it illegal to compete. This is why IBM took out the company building on Hercules that let mainframe customers run their apps at a fraction of the cost on Intel hardware. It’s how Apple tries to keep software from even looking like theirs with Samsung forced to make their interface look like crap in Germany. It’s how Microsoft has collected over a billion in royalties off Android despite not contributing anything to it and trying to kill it in the market with Windows Mobile. It’s how it took a multi-billion dollar corporation’s deep pockets to stop Oracle from eliminating, taking most profit on, or seizing that same product. Two of these companies benefited a lot from BSD code that helped them get their revenues up enough to do more of these attacks. Another used GPL code mainly to reduce their own operating costs on infrastructure while shifting the lock-in to their 3rd-party apps built on top of it. That… at least helped on half the problem. The net effect of anything benefiting them is negative given they directly try to change laws in multiple countries to deny you basic rights like the ability to iterate on and improve a software implementation of an idea.

                                                                                                                                      On other side, certain projects licensed under various free licenses had positive effects. This isn’t limited to GPL with success of Apache web server being first counterpoint coming to mind. Comparing them, though, I note that there were numerous times companies built on top of permissively-licensed code giving nothing back. There’s many cases, if not the default, of companies using GPL improving the product just because the license requires it and doing so didn’t hurt the business. The companies that did non-copyleft, shared source would occasionally close things back up after a lot of user contributions made their product better. QNX was an infuriating example. The GPL blocks that for at least components that got licensed under it. One company ceasing improvements doesn’t change anything if it’s really useful to another company who picks up the ball others dropped.

                                                                                                                                      So, I see more positives out of GPL-like licenses than BSD’s if we’re talking contributions over the long term, esp by greedy companies. They also contribute less to the big companies’ evils when they adopt them as we see with IBM and Google. The companies even accidentally do good since the license forces their improvements back into the code that can be used by others doing good. Also, as I told burntsushi, it’s also important to remember that you can still license GPL software for a profit. There’s a number of companies, big and small, doing this. If it’s your own software, you can even do whatever you want with it under other licenses. The GPL version just gets to remain free with all contributions that get distributed shared back with people.

                                                                                                                                      1. 1

                                                                                                                                        Emphasis is mine..

                                                                                                                                        especially sharing your work back with them. It’s not your rights given it wasn’t your work to begin with

                                                                                                                                        If you want to use GPL (as in picking a license or using a GPL licensed piece of code) thats your prerogative, but claiming that there is no restriction on what downstream developers do with the code they have written is being disingenuous or obtuse.

                                                                                                                                        1. 3

                                                                                                                                          I didn’t say that. The commenter I replied to said GPL restricts “your rights to license your software properly.” It actually is an optional license that enforces your will on your work and its derivatives. That’s an entirely different thing. It means you can do whatever you want with your work. If you want what the GPL is designed to do, then you can license it with GPL to attempt to accomplish that. That’s for a single developer on their own work.

                                                                                                                                          When building on existing code, it’s other’s work that they licensed how they saw fit with conditions/restrictions for those building on it. If you want to use their work in your own and are fine with the conditions, then you will build on it with the restriction of going with the conditions. At this point, it’s a collaborative work, not just your work, with conditions you already agreed to before building on it. That’s similar in concept to people entering a contract for how to accomplish a shared goal. If you oppose it, don’t enter into a contract with those people using their code and practices. That simple. Nobody has forced you to do anything with your work since it hasn’t even been created at that point. If it was, it wasn’t your work so much as theirs with licensed expectations + yours. By redefining it to just your work and rights as a single developer, which I can’t emphasize enough, it makes it look like someone is restricting your own individual activities out of nowhere with nothing in return. That would be a bad thing.

                                                                                                                                          Good news is that’s not what’s happening: it’s either an optional tool for you to use to enforce your will on your own work if you agree with it; or conditions that come with a group work you or others started on derivatives that leverage that work. Again, conditions they can either agree to or reject in favor of different things to build on. In either case, the person using the GPL wants to use the GPL. If they didn’t, they’d use a different license for their work or build on something licensed differently. Entering into the restrictions is voluntary action by developers.

                                                                                                                                  2. 4

                                                                                                                                    The goals of copyleft are laudable, but we regularly get upstream patches, also from Google employees, even though we use MIT/ISC only. 

                                                                                                                                    Are you talking about suckless software? I really don’t mean to be rude, but isn’t this a very selective subset? Since you’re very adamant about unix and unix style writing, the culture of sharing and interoperating was “naturally” adopted, or so it seem to me. It jut makes sense, but does this still hold for bigger projects like Emacs or Linux? I’m doubtful…

                                                                                                                                    If you really care about freedom by definition, you won’t use copyleft licenses, as copyleft limits your freedoms.

                                                                                                                                    This really doesn’t mean much, since both sides just use the (holy) word “Freedom” to talk about two different things. Take for example the conception of freedom that arises from unfreedom, rules and laws. Your (negative) conception is just one idea among others.

                                                                                                                                    Maybe that’s why most GNU-software sucks so much.

                                                                                                                                    You can say what you want, but I appreciate being able to write rm directory -rf ;^)

                                                                                                                                  3. 1

                                                                                                                                    If you want to complain about ‘bad actor’ companies, those using AGPL should be directly in your sights.

                                                                                                                                    1. 6

                                                                                                                                      How so?

                                                                                                                                      1. 6

                                                                                                                                        I wish there were a downvote for not enough information. I’ve been seeing a lot of posts that may or may not be correct but don’t actually have any reasoning or evidence behind their claims.

                                                                                                                                        1. 2

                                                                                                                                          As mentioned elsewhere (https://lobste.rs/s/mbufwv/some_software_cannot_be_used_at_google#c_olmjmh) - shitbag companies use (A)GPL as a moat against competition for their open-core/proprietary software.

                                                                                                                                        2. 1

                                                                                                                                          I agree with other commenters that I can’t learn anything from your comment without your reasoning. I will say I opposed GenodeOS switching to AGPL because it would hurt adoption. Separation kernels, aka sacrificing most features for highest security, is already something that’s nearly unmarketable but highly useful for public good. Unless selling to military or safety-critical embedded, the best move is to use whatever license will get most uptake while selling value-adds on top that are marketable. On top of support, consulting, etc.

                                                                                                                                          So, I opposed it in that case since it was already something fighting huge, uphill battle. Now, something with value like these companies use for networked applications or infrastructure might be AGPL licensed to get force them to contribute more if they want to use it. There will be many that don’t adopt it. A compelling product might still get a lot of adoption or even sales if sold to companies that don’t do cloud stuff they’d have to relicense. There were even a few people on HN that told me they make all the software they build for businesses FOSS by default with the businesses never caring because that software is necessary plumbing rather than a competitive advantage. So, it’s paid for plus can benefit others by default. There’s a possibility of AGPL-based projects doing that.

                                                                                                                                          Personally, I default against AGPL if optimizing for uptake but for it if optimizing for ideological blocking of freeloading or financially supporting companies that try to limit our software freedoms. I don’t mean in a Richard Stallman speculative way: I mean they actively bribe politicians to reduce our rights in how we use our devices or software. And they make that money off of a mix of proprietary and permissively-licensed code. I’m fairly pragmatic where I know things are complicated enough I’ll have to make some tough decisions balancing many goals. However, some people out there might want to take steps to block their work from supporting companies that would (a) sue them for their work if given the chance or (b) give large financial backing to proprietary solutions but freeload of most FOSS.

                                                                                                                                          Note: Google is a mixed bag here where they do a lot for FOSS versus most companies. Going with their flow makes sense for people maximizing adoption at expense of other variables.

                                                                                                                                          1. 3

                                                                                                                                            The majority of companies I see using AGPL aren’t doing it for any Stallman-esque goals - they’re “open core” companies that use AGPL to effectively neuter any attempts to combat the intrinsic bullshit of “open core” projects.

                                                                                                                                            This other comment sums up my views better than I have, clearly: https://lobste.rs/s/mbufwv/some_software_cannot_be_used_at_google#c_olmjmh

                                                                                                                                            1. 3

                                                                                                                                              That would tell me that there’s companies using it for bad reasons, not that it’s inherently bad. You could similarly claim that projects like Linux are inherently about specific companies dominating markets because they’re the main contributors. Yet, the licensing allowed the kernel to be used for so much more. Unlike other bases, those using it were also forced to send back some contributions since they couldn’t just keep them private like companies using BSD code often did. That meant we gradually got an OS that could do everything from desktops to embedded to SGI’s NUMA’s to mobile.

                                                                                                                                              There could be some beneficial effects to building businesses or major projects on AGPL that snowball like that. Also, there might not be where the license kills the potential. I don’t know until I see enough good attempts at using it for something with growth potential.

                                                                                                                                              1. 2

                                                                                                                                                You’ve missed a key point when comparing to Linux.

                                                                                                                                                RedHat Inc. (as an example) don’t “own” the Linux project, and then dual-license it under (A)GPL and a commercial License. They contribute to an external project.

                                                                                                                                                MongoDB better fits the point I was making. They have a commercial (“Enterprise”) version and an AGPL (“community”) version. If a company then wanted to fork the community version, and either add new features or do clean implementations of “enterprise” functionality not offered in the upstream AGPL project, there is basically zero chance of making this a reality, because any effort they expend, automatically benefits the upstream company.

                                                                                                                                                I don’t know until I see enough good attempts at using it

                                                                                                                                                You’d think 11 years would be enough time for something to use it as-intended?

                                                                                                                                                I think we’re probably just not going to agree here. My default opinion of anyone particularly pro-GPL is to wonder what their goals are. I’m interested in solving interesting technical problems. I’m not interested in dictating to people what they can do with code I choose to release.

                                                                                                                                                1. 1

                                                                                                                                                  “ My default opinion of anyone particularly pro-GPL is to wonder what their goals are. I’m interested in solving interesting technical problems. “

                                                                                                                                                  Know all that software running the world on mainframes, Windows, and so on that people can’t get off of because it’s proprietary and the company turned out to be leeches? And then doing stuff like suing competitors on copyright or patent grounds? My goal is avoiding that by default wherever something is a dependency. Certain licenses help maximize what we can do with software over time. Others don’t. So, I push for what benefits customers and developers over time the most. I don’t force anyone to do anything. To the contrary, the opposite types of software (and hardware) currently dominate in uptake in consumer, business, and government markets.

                                                                                                                                                  “RedHat Inc. (as an example) don’t “own” the Linux project, and then dual-license it under (A)GPL and a commercial License. They contribute to an external project.”

                                                                                                                                                  They contribute to an external project that they depend on which is licensed in a way to force contributions back to anything they improve. They’ve been doing this a long time, too. That was the point that they have in common with AGPL. The AGPL license just applies to extra software that’s had a lot of freeloaders who were already not contributing back because existing licenses let them dodge that in their business models. Had the best components been AGPL, a percentage of them might have chosen it with contributions coming back. Maybe. I’ve already said I’m not sure what long-term effects will be but I do want to see better attempts at it. Personally, I think the more permissive GPL is just outcompetiting it right now since it’s what copyleft people prefer. A social phenomenon.

                                                                                                                                                  “If a company then wanted to fork the community version, and either add new features or do clean implementations of “enterprise” functionality not offered in the upstream AGPL project”

                                                                                                                                                  What you’re implying, but not outright saying, is company A created something to be used for their profit if commercial or others benefit if AGPL. Company B wants to leverage Company A’s work in a way that exclusively profits Company B at Company A’s expense. Company A’s licensing prevents this by ensuring Company B’s commercial activities building on Company’s A’s work can benefit Company A, too. AGPL seems like a smart move if blocking competitors whose business model builds on other businesses’ work without sharing back.

                                                                                                                                                  Now, Company B has some options available. They can make their value add a service that communicates with Company A’s software. There’s a huge market for this with it becoming a default, architectural style of a lot of businesses despite negatives like performance or complexity. Company B might also target different use cases for Company A’s software that Company A might not adopt because it doesn’t fit their current market. Works better if it requires internal changes that negatively impact Company A’s current use case. Company B might also make their own software components, proprietary or open, that they license to Company A’s customers that can benefit them but clearly state they’re not to be licensed as AGPL. Whether that’s legally sound or not, we’ve seen lots of companies tie proprietary software into GPL stuff that way, esp as binary blobs, without the GPL stuff putting them out of business. It helps that GPL enforcement isn’t really aggressive like proprietary enforcement.

                                                                                                                                                  So, even for greedy Company B in your scenario, there’s still quite a few ways to make piles of cash as demonstrated by companies mixing proprietary and GPL code. They just can’t use the code Company A already wrote in a way that blocks company A from benefiting from the derivative work. They both will be able to sell whatever results. Just blocks greed. Doesn’t sound so bad to me. If anything, sounds like a bunch of companies competing that way would create piles of new features or differentiators at a much faster rate. Note that this is the default in Shenzhen even for hardware. Probably more product-level innovation at lower cost there than anywhere. It wouldn’t be as extreme here in U.S. since whatever doesn’t use or modify AGPL parts can stay proprietary or different type of OSS under strong copyright/patent laws.

                                                                                                                                                  1. 1

                                                                                                                                                    You’re trying really fucking hard to miss the points I’m making, and I honestly don’t have time to read all of your war and peace style comments.

                                                                                                                                                    1. 1

                                                                                                                                                      Well, I found time to read all of them.

                                                                                                                                                      nickpsecurity, I think I know the kind of company stephenr is talking about, though I’m unaware of any of them using AGPL.

                                                                                                                                                      I call these companies and their products “open source in name only”. And certainly not Free Software…

                                                                                                                                                      Examples include lots of products released as both an “OS/Community Edition” and also an “Enterprise Edition”.

                                                                                                                                                      One example is Trisano, by CS Initiative. The company appears to have disappeared and all the source code went with them. I had a copy of a repo at one point, but 1. it disappeared from my github because it was a fork of a private repo and I never had control of it (this was before I realized that I should maintain a local copy) and 2. it never had everything you needed to use the product in it anyway.

                                                                                                                                                      I sent emails back and forth with the head of that company explaining that I worked in the Public Health sector and we’d be happy to use the project and contribute back in the form of patches, if he could just send us the darned code, and he never did. Not even for the supposed “community edition”.

                                                                                                                                                      I think they just put the term “open source” into their marketing so their product would come up in my searches and maybe they could get my boss’s ear through me.

                                                                                                                                                      Anyway, if somebody can find a concrete example of a company using the AGPL toward malfeasance, I’d love to hear about it. stephenr mentioned MongoDB, but I’m not sure if that’s where his negative experience came from… If he doesn’t want to name names, I get it: $work and all…

                                                                                                                                        3. 1

                                                                                                                                          Those are really interesting questions. I wonder how much non-GPL software has significant improvements that aren’t public. I have preferred BSD-style licenses for any code I publish, as I’d rather people just use it without any fuss. But if I had a substantial ongoing project I cared about I can now see myself picking a copyleft license. I had assumed the utility of submitting changes and fixes to the upstream project, as opposed to maintaining an internal fork, would be sufficient to encourage contribution. But I had never actually thought particularly hard about it until now.

                                                                                                                                          1. 5

                                                                                                                                            Apple and Microsoft both built their proprietary OS’s along with a portion of their wealth on top of BSD code (esp networking). BSD’s didn’t get much benefit from that. Google acquired a mobile OS built on top of Linux. Even after they got more evil, many of their improvements still go into the ASOP that other companies can build on. I’m not claiming this extrapolates to all uses of highly-permissive vs copyleft code. I am saying it’s an example of what GPL intended to do when companies act in their self-interests. The BSD’s with no protections allows the other two companies to redirect all the benefits in their direction instead of reinvest them into projects they used.

                                                                                                                                            1. 4

                                                                                                                                              BSD’s didn’t get much benefit from that.

                                                                                                                                              It could be argued that the BSD’s got clang/llvm, so maybe it isn’t all bad.

                                                                                                                                              1. 2

                                                                                                                                                I thought about that as I was writing this morning. Reason I left it off is I think it’s like Red Hat: an example proving what can happen but an outlier not representing what usually happens. The for’s and against’s were about what licenses normally do except the hypotheticals I did like AGPL.

                                                                                                                                                I agree it’s a great, success story for a FOSS project. Im very greatful to the CompSci folks, Apple, and volunteers for it given all the people building on it.

                                                                                                                                      1. 5

                                                                                                                                        What do you expect from a resource-hog like GNOME shell? It’s the worst example of open source bloat and how an open source project can put its fangs deeply into an ecosystem. It’s hard to avoid it and even more difficult to avoid its libraries more and more projects depend on for no reason. GNOME is one reason why the Linux desktop is in such a sorry state.

                                                                                                                                        This is also why this problem is so hard to debug. It’s probably a very complex interplay with some obscure and unknown gnome-helper-library whose state is not well-kept.

                                                                                                                                        For what it’s worth, there are better alternatives like Xfce, Elementary OS or dwm, and I recommend everybody to check them out.

                                                                                                                                        1. 6

                                                                                                                                          I recently made the switch to LibreSSL on Gentoo and it works very well and seamlessly.

                                                                                                                                          I actively follow the development of LibreSSL and have to say that the OpenBSD developers really managed to make it suck less, and we should all support this project in the interest of a better and secure internet.

                                                                                                                                          Especially, we should all use libtls (aka tls.h) (provided with LibreSSL) for new code and stop using the OpenSSL-API directly. It’s impossible to use it safely.

                                                                                                                                          1. 5

                                                                                                                                            While I agree to some extent, there are two important counter arguments:

                                                                                                                                            1. Everything that’s being said only apply to maintainers working for free:
                                                                                                                                              • if I pay you to fix an issue, than you have to fix it
                                                                                                                                              • if a widely used project is maintained by a company (or by a large community), there is at least a moral duty to evaluate and accept security fixes as fast as possible, whatever the license
                                                                                                                                            2. With Copyleft, maintainers owe developers something: to respect their copyright.

                                                                                                                                            Also, independently of the license (and even independently of the way a project brands itself), I think it’s important to distinguish between Free Software and Open Source, since the first implies Hackers’ ethics while the second is a marketing tool (and thus you cannot make assumptions about the leaders’ behaviour when bad things happen).

                                                                                                                                            1. 2

                                                                                                                                              Thanks for your insight, Mr. Stallman.

                                                                                                                                              1. 2

                                                                                                                                                You are welcome, Mr. Ballmer! ;-)

                                                                                                                                              2. 1

                                                                                                                                                if I pay you to fix an issue, than you have to fix it

                                                                                                                                                Or give you your money back. ;)