1. 4

    you may not: work around any technical limitations in the software;

    So you can’t install extensions from their store, most of which “work around technical limitations”?

    1. 1

      Sounds like a clever catch, but isn’t really. The plug-in system is a feature of the software proper, so it does not stand in contradiction with this clause.

    1. 1

      Is this significantly different from directly tweaking the overall character width in your word processor?

      1. 3

        Yep, that’s easier for the reviewer to notice by looking at the numbers.

        1. 1

          Which numbers do you mean? If a reviewer is looking at a PDF they can’t see any font settings. Or do you mean the numeric characters?

      1. 69

        I’m kind of speechless. This looks truly genuine, and it makes me hopeful for the Linux kernel community (and all the other open-source communities it influences!) in a way I hadn’t predicted would ever happen.

        1. 9

          I feel quite the opposite. I think it’s very sad that the reddit/twitter bandwagon of people that never actually contribute anything to open source but love to rip those that do to shreds have finally go to him.

          1. 50

            This argument is a classic to be found in all of those discussions, but doesn’t hold any water.

            • Coraline Ada, the woman who’s work the now adopted Code of Conduct is based on, is the primary author of 25 Ruby gems, regular contributor, very welcome as a speaker in the Ruby world.
            • Sage Sharp, known for their angry good-bye from the Linux kernel and outspoken critic of Linus, has been author and maintainer of the USB-3.0 implementation in the kernel. Sage also lead intern groups working on the Kernel through Outreachy.
            • Matthew Garret, also a very outspoken critic, has been maintaining kernel power management modules and is constantly working on Linux related issues ever since.

            The no-contribution Twitter crowd, right?

            The list could go on and on. Find another angle, this one insults the intelligence of everyone at the discussion table. It only works if you don’t name names, if you do, you suddenly find that these people do contribute.

            Finally, as someone managing a huge FOSS project with > 100 maintainers, I think this gatekeeping isn’t part of open standards. If your project is open and contribution is free to everyone, the barrier for criticising your projects methods and practices should be as low as the barrier for contributing anything else: as close to zero as possible. This is also important for practices to travel between projects.

            1. 7

              And very recently, Alexander Popov, no lightweight by any measure. https://lwn.net/SubscriberLink/764325/09702eb949176f55/.

              1. 1

                I’m sympathetic to Torvalds critique, if not his wording. It seems bizarre to just live with kernel code that uses uninitialized data structures and doesn’t cross check pointers and hope that some complex mechanism will ameliorate the problem.

                1. 6

                  Sure, his technical arguments were probably sound, as usual, but his abuse of Popov left the latter “emotionally dead for weeks”. Popov might’ve gotten the fixes made and thus the patch committed much sooner had Linus not abused him so the project also loses.

                  1. 3

                    I am not convinced the patch ever became worthwhile - but I agree that Linus’s argument style was counterproductive and abusive.

            2. 23

              I think you’ve got a selection bias in which criticism you’re seeing. From my perspective, the people who I hear take the most issue with Linus’s conduct are largely people who’ve quit kernel development as a result of it, or people with many years of OSS experience (such as myself).

              1. 5

                I’m not an advocate of the absurdly excessive personal attacks for which Linus is known but at the same time I think quitting kernel development because of those personal attacks shows a lack of awareness of how OSS and specifically Linux operates. The reality is that Linux is Linus’s project and he’s incentivized to take your patches to make his project better, not to build a cooperative community. The community, if one could call it that, is incidental to Linus’s incentives.

                If a person quits because of Linus’s behavior, it signals to me that their motivation had something to do with the approval of others and unfortunately those motivations are incompatible with Linux’s development process. Linus’s insults are just the tip of the iceberg when it comes to all the other problems that will arise due to the mismatched expectations. A famous example was when Ingo Molnar rewrote Con Konlivas’s CFS, or the multiple times grsecurity’s patches were rewritten by others.

                Linus basically doesn’t owe anyone anything, and it’s not because he’s a jerk (though maybe he is), it’s because of the emergent social phenomena around OSS. Similarly, no one owes Linus anything. Many actors out there are using Linux to facilitate their billions of revenue and not paying Linus anything. If you write code and put it out there, there is no obligation that what you want to happen with it will happen, and it’s not unlikely that what happens with it will hurt your ego. If someone quits kernel development because of Linus’s behavior, they really should reexamine why they want to write OSS code in the first place and whether or not OSS development is the best way to reach their goals.

                All that said I don’t necessarily disagree with Linus’s recent decision. It shows a conscious effort on his part to change the strategy used to sustain the project. I’m only criticizing those who may have mismatched expectations of the potential outcomes in OSS work.

                1. 3

                  The reality is that Linux is Linus’s project and he’s incentivized to take your patches to make his project better, not to build a cooperative community.

                  Linus is an employee of the Linux Foundations, a nonprofit corporation with stakeholders like Red Hat, Google, and Intel, and he owes his employers their money’s worth as much as anybody else who works for hire.

                  I would agree with you if this was still the Linux that wasn’t going to become a big thing like Hurd. But Linus chose to remain the project lead even as the job became less technical and more political, and when they decided to pay him to work on it full-time, he accepted. There’s money, there’s a trademark, and there’s inertia undermining any claim that the situation is totally voluntary and that nobody owes anybody anything.

                  And that’s before we even consider the fact that there is a huge and informal web of soft obligations because human beings don’t work the way you say they do.

                  1. 1

                    Linus owns the trademark and even if he didn’t work for the Linux Foundation he would still be the maintainer of Linux. The entire development structure is centered on him. No company could successfully and sustainably fork Linux if Linus decided to operate against their goals.

                    I made no claim as to how human beings work. My claim is simply that OSS is essentially a free-for-all and those that aren’t acutely aware of that and incorrectly treat OSS like a traditional organization that has inbuilt obligations to their well-being will be inevitably burned. Linux is not a cathedral, it’s a bazaar. http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/

              2. 6

                Are you talking about the crowd that is currently lambasting him for “yielding to the SJWs”?

                1. 9

                  No I’m talking about the much larger crowd of people applauding him for ‘moderating himself’ and other such nonsense. I’m talking about the huge crowd of people that act like every message he sends is a scathing personal attack on someone for indenting something incorrectly.

                  1. 11

                    Well, perhaps it’s just that our perception of the (ultimately utterly pointless) social media reactions is colored by our preconceptions. I’ve mostly seen people praise and defend him.

                    I’m not sure what the resistance is about. It seems to me that all these CoCs are just a way of codifying “don’t be an asshole”, and it’s perplexing that people get so angry about it. But it cannot be that, right? Surely you and others are not against “don’t be an asshole” as a work ethic?

                    If not that, then what? I’ve listened to Sam Harris quite a lot recently, so I have some feeling about the problem of identity politics et al, especially in the US. I’m just still not exactly convinced, because I don’t see it happening. Perhaps it’s not that big a problem in Europe?

                    1. 10

                      I’m not sure what the resistance is about. It seems to me that all these CoCs are just a way of codifying “don’t be an asshole”, and it’s perplexing that people get so angry about it. But it cannot be that, right? Surely you and others are not against “don’t be an asshole” as a work ethic?

                      I think a lot of this is related to the “hacker identity” which is strongly tied up with counterculture, stepping outside/dismissing/rebelling against social conventions. For example, in the genre of cyberpunk (which I’d consider a hacker’s dream world, even if it’s a dystopia) there is almost no law and order or even anarchy, everyone does their own thing and your skill is the only thing that counts.

                      So I think a lot of the reaction is “who are you to come in and police the way we’ve always been doing things?”. I suppose a lot of these people claiming are seen as outside intruders enforcing their “outside” morals on the hacker “community” at alrge (if there is even such a thing). For this reason I think it’s important that people like Linus, who are truly regarded as being “from” the community, are signaling that change needs to come. We’re all human, not machines.

                      1. 8

                        I think there are two big issues. One is that “hacker culture” has historically attracted people with social issues. I know that it appealed to me as an unpopular, nerdy, shy kid: I didn’t have a lot of outlets, so computers and the Internet helped me form my personality. That’s great; I don’t know where I’d be without it. That leads into the second issue, though, which is that it’s utterly dismissive of all the traditions we call the “humanities.” I am lucky, I think, in that I’ve always been “into” literature, philosophy, theology, and so on, and could balance my computer-nerddom with those fields. (In fact, my only college degree is a BA in English.) Without that tempering influence, it’s very easy to get caught up in an aspiration-to-Spock sort of behavioral cycle.

                      2. 5

                        Surely you and others are not against “don’t be an asshole” as a work ethic?

                        Who defines what an ‘asshole’ is?

                        My problem is that Codes of Conduct explicitly and implicitly privelege some groups but not others for protection, and that even when de jure they protect some groups, de facto they do not.

                        Moreover, I find the idea that we should generally value social etiquette more than technical excellence to be troublesome. Are there people who are so socially rude that they should be shunned? Sure. But should shunning be our go-to? I don’t think so.

                        1. 5

                          I find the idea that we should generally value social etiquette more than technical excellence to be troublesome.

                          Is that what’s actually happening? I thought this was about valuing both.

                        2. 2

                          It seems to me that all these CoCs are just a way of codifying “don’t be an asshole”, and it’s perplexing that people get so angry about it.

                          I can’t speak for all opponents, but for me at least I disagree with it being “codified”, or rather formalized what essentially isn’t formal. People contributing to software won’t just suddenly become good people because there is a CoC. It’s like wanting to prevent a husband from abusing his wife by requiring him to hold up his hands whenever they are in the same room.

                          What I usually fear from these kinds of things is that they one the one hand subvert genuine communities, customs and practices, while possibly encouraging the harmful parts of these communities to discreetly and dishonestly live on, much harder to fight or criticize. Essentially it’s taking a passive stance towards real issues people should actively and collectively oppose – say harassment or insulting people.

                          Turning issues of civility and decency into rules, especially if these are too vague, always bears the danger of being on the one hand abused by those trying to evade then (“oh, that’s not what I meant”) and on the other hand by those enforcing them (“rules are rules”)…

                          But then again, I’m not a Linux contributer (although I would be honored to managed to get there one day), and I can just hope it turns out well for them, and the issue doesn’t get instrumentalised.

                          1. 4

                            People contributing to software won’t just suddenly become good people because there is a CoC. It’s like wanting to prevent a husband from abusing his wife by requiring him to hold up his hands whenever they are in the same room.

                            I find that analogy deeply flawed (and somewhat bizarre). The CoC doesn’t require anyone to do anything as ridiculous as hold their hands in the air while in the same room as their wife.

                            Essentially it’s taking a passive stance towards real issues people should actively and collectively oppose – say harassment or insulting people.

                            So you’re saying that rather than having a CoC it would be better if, every time Linus or some other kernel developer was offensive, other developers stepped in and told them off? How do you make that happen? Do you not think the CoC is a step towards making that happen?

                            1. 1

                              The CoC doesn’t require anyone to do anything as ridiculous as hold their hands in the air while in the same room as their wife

                              Of course not literally, but for many people they have to adjust their own behavior in unusual (and often enough unknown) ways. I’ve experienced communities on the Internet which banned their users for using any phrase that has to do with eyesight disabilities (e.g “I can’t see what’s wrong”), and most people simply just didn’t know about this.

                              And the point of my analogy still remains, the issue with the husband beating his wife isn’t that he can but that he wants to, consciously or unconsciously. Just saying “Don’t” won’t help solve the problems in the long term, just suppresses them.

                              So you’re saying that rather than having a CoC it would be better if, every time Linus or some other kernel developer was offensive, other developers stepped in and told them off?

                              The way I see it, this would obviously be better. This means that the community has a strong sense of internal solidarity and openness that they manage to enforce by their own means. Essentially this means that the goals of the CoC come naturally and authentically to the members.

                              How do you make that happen? Do you not think the CoC is a step towards making that happen?

                              I really can’t say, nor do I know. Nothing I’m saying is authoritative or really substantial, I’m just trying to give a more reasonable criticism of codes of conducts than certain other people in this thread.

                              1. 7

                                Just saying “Don’t” won’t help solve the problems in the long term, just suppresses them.

                                Suppressing the problem does help, though. I don’t want to continue the husband/wife analogy as I find it distasteful, but once you establish norms of good (or at least better) behaviour, people do adjust. And by having the CoC, even though it doesn’t cover every case, it sets up some basic guidelines about what will and won’t be accepted - so you remove the excuse of “no this is fine, everyone talks this way, deal with it” from the outset. This alone can make people who otherwise feel vulnerable, and/or belong to marginalised groups etc, to feel more comfortable.

                                I’d prefer we didn’t need CoCs, but clearly we need something to make development groups less unpleasant to participate in. And even if you don’t think they’re effective, I can’t see how they hurt.

                                1. 1

                                  I guess we just have different views on the question if issues are to be addressed or suppressed (in my eyes willfully ignored). But that’s fine. There’s more I could say, but I won’t for the sake of brevity, except that a CoC should (imo) be always the last resort when everything else has failed. A kind of martial law. Since they aren’t just guidelines or tips, but can justify very drastic behavior.

                                  1. 2

                                    I guess we just have different views on the question if issues are to be addressed or suppressed

                                    I think that’s a mis-characterization. We both seem to think that offensive behaviour should be addressed by other people stepping in as appropriate, but I see the CoC as prompting this to happen, whereas you are saying that you don’t know how to make it happen and that the existence of a CoC will make people suppress their bad behaviour and that this is bad (for some reason which I’m not clear on).

                                    I would say that the existence of a CoC may make people suppress an urge to spout off an offensive rant against another developer, and that’s a good thing. I also think that it lends a stronger position to anyone who does step in when offensive behaviour does occur (despite the existence of the CoC). I think it’s more likely that, rather than completely suppressing offensive behaviour, the CoC causes more people to respond and challenge such behaviour, which is the outcome that we both seem to think is ideal (and which leads to less of the behaviour occurring in future). Now if you disagree that the CoC will lead to that happening, that’s fine, but:

                                    A kind of martial law. Since they aren’t just guidelines or tips, but can justify very drastic behavior.

                                    That’s just ridiculous. A CoC is nothing like martial law. The only behaviour it justifies is that of stepping in to control other, offensive, behaviour:

                                    … to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

                                    Maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership.

                                    These are the only behaviours that are actually “justified”, to use your word, rather than expressly prohibited, by the CoC. I think saying these are “drastic” and comparing to martial law is clearly an immense level of exaggeration.

                                    1. 1

                                      but I see the CoC as prompting this to happen, whereas you are saying that you don’t know how to make it happen and that the existence of a CoC will make people suppress their bad behaviour and that this is bad (for some reason which I’m not clear on).

                                      I don’t want this to go on for too long, so I’ll just quickly clarify my two main points:

                                      • banning obvious misbehavior won’t change people, it will at best make them be quiet, at worst invite them to a passive aggressive game of trying to evade the rules while still trying to be mean or hurtful.
                                      • a CoC is a principally passive stance, where active action is necessary trying to address and resolve issues. Suppressing discussion where necessary may (again) lead to a overall harmful atmosphere, especially towards those not used to these, usually American, norms (because of different backgrounds, cultures, standards).

                                      So it’s not that it’s irrelevant, but that it may go wrong, specifically when applied to quickly or without introduction. But again, maybe not.

                                      A CoC is nothing like martial law.

                                      You’re right, I should have put “martial law” in quotes. My point is that it shouldn’t be a permanent solution, but as you said try to push a community in a better direction, “stabilize” a situation so to speak. Even here between us we see how different background, invoke different images and connotations with examples as simple as metaphors.

                                      1. 1

                                        You’re right, I should have put “martial law” in quotes. My point is that it shouldn’t be a permanent solution

                                        Ok, I understand now what you meant.

                                        banning obvious misbehavior won’t change people

                                        I am not sure that I agree with this. For one thing, “obvious misbehaviour” may be generally understood but is not obvious to everyone. You will see many people arguing that Linus’ rants are perfectly acceptable, for various reasons. By making a clear statement that “behaviour X is wrong” you are removing the doubt.

                                        at worst invite them to a passive aggressive game of trying to evade the rules while still trying to be mean or hurtful

                                        I believe that the Contributors’ Covenant deliberately avoids trying to produce an exhaustive list of disallowed behaviour, precisely so that the rules can’t be avoided in this way. Yes, there will always be some problematic individuals who push the limits regardless. But is it better that they are at least constrained in this way, rather than being able to be openly offensive? I think so. And I think this anyway is somewhat irrelevant to the issue of a CoC; even if you generally enforce good behaviour without a CoC, there can always be trouble-makers who test the limits.

                                        a CoC is a principally passive stance, where active action is necessary trying to address and resolve issues. Suppressing discussion where necessary may (again) lead to a overall harmful atmosphere

                                        A CoC is just a document, so it is passive in that sense, yes. But it doesn’t prevent any affirmative action - it encourages it.

                                        What this seems to boil down to, if I’m reading you correctly, is that you’re saying that it’s better to allow offensive behaviour to occur - and then to have the perpetrator reprimanded - than it is to document what is considered offensive behaviour so that it will be deliberately avoided. I cannot see how that is better. If someone’s response to a rule is to try to find underhanded ways to work around that rule, what difference does it make whether the rule is written down or enforced only by-the-way?

                                        1. 1

                                          For one thing, “obvious misbehaviour” may be generally understood but is not obvious to everyone. You will see many people arguing that Linus’ rants are perfectly acceptable, for various reasons.

                                          Ok, but these people would say these rants are good because they are brutal or some kind of “not nice”. Nobody, or at least nobody I’ve seen, claims that Linus is always “kind” and “civil” and people are just misunderstanding him.

                                          Yes, there will always be some problematic individuals who push the limits regardless. But is it better that they are at least constrained in this way, rather than being able to be openly offensive? I think so. And I think this anyway is somewhat irrelevant to the issue of a CoC; even if you generally enforce good behaviour without a CoC, there can always be trouble-makers who test the limits.

                                          I get your point. I still belive there to be a difference between the two cases – maybe not immediately visible, but on a more symbolic level. In the first case the trouble-maker stands in conflict with the (official, formal) document and will try to defend his or her behavior on semantic issues and misreadings, while in the second case the conflict is more direct with the “community”. This is not to say that no rules should be made or no behavior should be sanctioned – just that in the long term this should be a internal and organic (eg. self-made (maybe even unofficial) “community guidelines”, that serve to introduce new members) process not ordained from above.

                                          you’re saying that it’s better to allow offensive behaviour to occur - and then to have the perpetrator reprimanded - than it is to document what is considered offensive behaviour so that it will be deliberately avoided

                                          I wouln’t phrase it that way, since to me many of these terms are too vague. Anyways, in my eyes this seems to be unrelated to CoC: from my experience most people encounter a CoC not by reading it before they do anything, but by people using it as “legislation” – they make a mistake and are then banned and excluded – often enough permanently because it’s just the easiest thing for moderators to do. Either way, the “offensive act” has taken place – with a quick and formal process leading to confusion on the one side and a honest attempt to point out what a person has done (on a case-to-case basis) in the other.

                                          1. 1

                                            For one thing, “obvious misbehaviour” may be generally understood but is not obvious to everyone. You will see many people arguing that Linus’ rants are perfectly acceptable, for various reasons.

                                            Ok, but these people would say these rants are good because they are brutal or some kind of “not nice”. Nobody, or at least nobody I’ve seen, claims that Linus is always “kind” and “civil” and people are just misunderstanding him.

                                            That’s my point. The CoC makes it clear that we are expected to be civil. Therefore if anyone goes on an uncivil rant, you can’t claim that it’s ok because [whatever reason], as it’s been explicitly stated that it’s not acceptable. You’re making the community rules about what certain unacceptable behaviour explicit, and removing the inevitable and fruitless debates over whether it’s ok to swear at someone for submitting a bad patch etc.

                                            Whereas now, people don’t understand that it’s not ok to be uncivil.

                                            Either way, the “offensive act” has taken place – with a quick and formal process leading to confusion on the one side and a honest attempt to point out what a person has done (on a case-to-case basis) in the other.

                                            Other than anecdotal examples where it may have been the case with some unknown number of other projects (links to relevant mailing list posts would be interesting to see), I don’t see any evidence that a CoC will necessarily lead to confusion nor to people being wantonly banned from participating for one-off infractions; I certainly don’t think it’s designed or intended for that.

                                2. 2

                                  I’ve experienced communities on the Internet which banned their users for using any phrase that has to do with eyesight disabilities (e.g “I can’t see what’s wrong”), and most people simply just didn’t know about this.

                                  As a visually impaired person with several friends who are totally blind, this strikes me as ridiculous. I have no problem with such everyday use of “see” and related words. I think my blind friends would agree.

                          2. 9

                            What’s so bad about people in positions of power to stop being abusive? Isn’t it something to applaud?

                        3. 2

                          It’s possible the CoC, the heart-warming public statement and Linus taking a time-out is a double-blind.

                          Well he could actually be a little burnt out as well, which is also totally fine.

                          I totally support him which ever way the pendulum falls.

                      1. 8

                        If you choose to use Microsoft FrontPage 98 as your primary means of Web Creation and Management, you’ll finally live the easy and happy life of a designer and manager who can concentrate on content and well as concept without sweating niggly things like simple code mistakes or massive issues like the fast implementation of in-depth advanced programming tactics.

                        But history took a different path…

                        1. 2

                          Well, that’s where Squarespace and all the other website generators came in.

                        1. 5

                          How old is this post? I see there’s an update from 2009 when someone pointed out the fundamental difference between check boxes and radio buttons to the author.

                          1. 3

                            Wayback machine says 2007.

                            1. 1

                              Sadly, he doesn’t date his content :(

                            1. 2

                              Suggesting people stop using certain words because they may offend is not sustainable, the meaning of words is fluid as is their connotation. By the end there would be no safe words left.

                              But on a lighter note perhaps the whole thing is a misunderstanding, after all he’s Italian and they are famous for saying Ciao! Which means I am your slave

                              1. 6

                                By the end there would be no safe words left.

                                This argument doesn’t even survive the simplest inspection, most terminology in IT is unchallenged and there’s plenty of words left.

                                1. 1

                                  ‘Unchallenged’ for now perhaps. But setting a precedent for this sort of safe spaces thinking doesn’t bode well for the future.

                                  Lost for words.

                              1. 1

                                What I’m curious to know is if “Mark” is a contributor or just someone use uses Redis (or doesn’t even do that). I my eyes this changes the debate from a discussion about the project and it’s values to a random interjection from outside.

                                1. 4

                                  “Mark” is a pretty well known person in the database world and a quite prolific FOSS contributor that has been raising this concern multiple times.

                                  1. 3

                                    apparently it will be decided by a twitter poll which is an absurd place to settle this as people completely unrelated to redis (not even in the IT field) can manipulate the result. This is farce.

                                  1. 19

                                    Many programmers push Worse is Better saying it’s profitable and/or inevitable. Terry Davis worked on what he believed was The Right Thing no matter what it cost. He’s dead. The Temple[OS] he gave his life for will live on. Maybe his work or dedication will inspire other people. Hopefully. :)

                                    1. 15

                                      From what I have read, he was impossible to work with because he would be absolutely set on things without giving any explanation other than “this is the right way”. A lot of the decisions for temple OS were not better but just random decisions “from god”.

                                      1. 18

                                        I’m an opponent of him in many ways. I overall agree with your assessment using the word “arbitrary decisions from god.” In the past, I would’ve even called him out since I was blunt in a brutally-honest way.

                                        His death saddened many Lobsters seemingly more than “it’s sad someone else died.” Maybe there’s something about him that hits home for them. I decided I’d comment on just the good aspects of what he was doing from the perspective of an ex-devout-Christian and current agnostic that respects people at least acting on their principles even when it costs them. That’s all.

                                        1. 16

                                          The thing that is inspiring about Terry for me is that he would uncompromisingly follow his muse. As crazy as he was, he was able to keep personal integrity and be unfaltered in the face of criticism. As a developer I like to create things. I miss the days where I had a computer and would just create things for the sake of it. Explore and put my own flavor onto things without worrying about anything else. I miss that and Terry would remind me of these days.

                                          1. 22

                                            Hm, it’s probably not intended, but this comment rubs me the wrong way. I also must admit that I have written and deleted multiple attempts trying to get my point across. Please also note that I usually don’t handle those subjects in English.

                                            The amazing Stella Young has coined the term “inspiration porn”, where people without certain barriers or disabilities use people with those as inspiration, quoting how “despite their struggles” they achieved something. In reality, it’s much more that these people have no choice. Pretty often, the people doing so had much more ability and chances to actually get what they want, they just don’t do it.

                                            We know that Terrys “personal integrity” was highly influenced by his illness. Yes, he had a “don’t care” mentality, but we don’t know if he could have afforded caring, even if he wanted. Having dealt with people with schizophrenia and other disassociating issues during both my civil service and in private life, I can definitely say that there’s often another side: the time after an episode where people try to do damage control and piece the status quo back together. Even if Terry had a rather public life, we may not have seen all of it.

                                            I’m not a fan of remote diagnosis, but the fact that TempleOS and his live streams were some kind of refuge and not only a sign of dedication and devotion needs to be considered. Also, in some form, they might also have been an expression of his illness. Plus probably his new faith. Terry found his niche in which he could exist and - harshly put - survive. In that niche, he was still a person that was insufferable to many. Given his interviews, I think he was very aware of that. And we shouldn’t forget some of his popularity was for the wrong reasons, e.g. people have used him as a nice chance to put racists statements out as “see what the deranged TempleOS-guy said” (just search for “Terry Davis Quotes”). He’s rarely quoted for his tech stuff.

                                            Terry had a lot of time to invest in his personal projects - but it’s not like he chose it. He was unfit for work and on meds. He wasn’t the kind of person people would take out for a ride or to the pub. We don’t know if he had a wish to do all of that, but maybe? He had an untreatable illness that is often given up on once people are considered “stable”. I’m not sure he didn’t really bother, but he had probably found a way to cope. These conditions are all about finding ways to cope. Given the way he left, he may have lost that way.

                                            So, in the end, a lot of could-be’s, maybes and a lot of things intersecting. Lots of things that could be speculated, but probably shouldn’t.

                                            I appreciate Terry for speaking about his mental state openly and unapologetic and reminding people that it exists. But didn’t enjoy much of his personality. That’s okay. I’m sad about his passing.

                                            But seeing a lot of people explaining the one with the other, for example by giving him a pass on many of his behaviours because of his schizophrenia is also a tough thing to see. Not because I think he shouldn’t get a pass for them, but because they also subtly remove all agency out of the person.

                                            1. 3

                                              Thank you for this comment, it hit a lot of the points I wanted to write but couldn’t get them out. Having gotten my first professional break from a friend, getting to work alongside him and watch schizophrenia slowly take away his – everything – was absolutely heartbreaking.

                                              The amazing Stella Young has coined the term “inspiration porn”

                                              I had never seen the phrase (or her), but it really encompasses perfectly what upsets me about it.

                                              He’s rarely quoted for his tech stuff.

                                              http://www.codersnotes.com/notes/a-constructive-look-at-templeos/ is a great attempt to look at the technical work.

                                              He had an untreatable illness that is often given up on once people are considered “stable”.

                                              Or long before that … the toll it takes to be around someone actively suffering prolonged severe mental illness is astonishing, exhausting, nearly impossible to imagine. Often direct relatives check out of the process.

                                              giving him a pass on many of his behaviours because of his schizophrenia is also a tough thing to see. Not because I think he shouldn’t get a pass for them, but because they also subtly remove all agency out of the person.

                                              I think the disease is what removes agency, not comments about behaviors. Fundamentally that is a part of what it does, it steals agency, which is horrifying and brutal. I simply to this day do not know the correct approach to deal with people suffering severe mental illness, the tool they use to decide if they should take medicine is damaged.

                                              1. 3

                                                I don’t know enough about mental illness so I am probably misguided. I can only relate to myself where doing anything without coffee is already really hard. It’s obvious that you know more on the subject than I do.

                                                Anyways, I like what he did with TempleOS and HolyC. Who would think of using a C-like language as a REPL, it’s way too dangerous! I liked that he made unconventional choices which then allows to explore design spaces that are not necessarily well traveled.

                                              2. 6

                                                It’s never too late. Pick you a tiny project, carve out small slice of time, work on it a bit, pause it, work again, and so on. You might slowly get back into the habit you enjoyed.

                                                1. 1

                                                  <3 Thanks. I am working on it. Breaking out of bad habits it hard.

                                          2. 1

                                            Taken from the perspective that perfect is unattainable, Worse is Better really is the only viable way. TempleOS lives on but in how many heads will it do so?

                                            1. 3

                                              TempleOS lives on but in how many heads will it do so?

                                              The value of an idea is not at all related to how fashionable it is.

                                              1. 2

                                                To support that, just look for all the times people in literature or science did some work, people thought it had no value, and then it’s a big thing way later.

                                                1. 2

                                                  The funny thing about things like that is the collective memory of being wrong about a big thing gets wiped away immediately once something is recognized.

                                                  We’ve always been at war with Eurasia and all that.

                                                  1. 1

                                                    Nice way of putting it. I battle it all the time in discussions about the C language and UNIX OS.

                                                    1. 5

                                                      It’s incredibly aggravating. The collective memory is seen as immune to mistakes even as it makes them firsthand.

                                                      Dangerous territory for people who are interested more in good ideas than the constantly-changing ‘right’ ideas.

                                                  2. 2

                                                    Like boolean algebra?

                                                  3. 2

                                                    I don’t agree because if an idea has no exposure it rarely makes its way to implementation, or me as well as the fact that stuff gets lost if it’s not fashionable enough.

                                                  4. 3

                                                    That’s not true. It’s the way that works the most in the most situations. The Right Thing does work in niche markets. Erlang and Ocaml are examples of the right thing that have a lot of use right now. There’s also many example in embedded sector where the Worse is Better stuff is usually an extra layer or module that’s optional. There’s even hardware products that weren’t in performance-sensitive markets that are selling. That’s not to mention appliance vendors like Oreck or catalogs focusing on “best of” like Hammacher Schlemmer (which is awesome, esp outdoor stuff!).

                                                    So, The Right Thing can work if there’s a market or mind share for it. It usually won’t work. My proposal, which someone else wrote up as well, is to do a hybrid where you build something as close to The Right Thing as possible with the viral characteristics of Worse is Better. Alternatively, you can build your product in a modular way with careful API’s so you can incrementally improve its quality and/or security over time if it sells. Most of the money still goes on features and marketing but some goes into those attributes. Stuff that gets rewritten is the stabilized or otherwise slow-to-change stuff.

                                                    1. 3

                                                      Not that I put much stock in “The Right Thing” versus “Worse Is Better” anymore. See: http://dreamsongs.com/Files/worse-is-worse.pdf (written by same author under a pseudonym).

                                                      That said, I always considered Erlang clearly on the pragmatic, get it done, worse-is-better, New Jersey side of the coin, at least according to the tenants described https://en.wikipedia.org/wiki/Worse_is_better. You code for the “Happy Path” – you put off / ignore most error handling. You need a little bit of mutable goodness, don’t worry, just use ETS we won’t tell anyone. Need even more bit twiddling, here is a friendly NIF.

                                                      • Simplicity: language simplicity at its core, complex stuff outsourced to OTP! Abstraction sounds complicated, lets just trust programmers to do the right thing and add another outside the language tool(dialyzer)!

                                                      Erlang is a “Mutually Consenting Adult Language” (read: dynamically typed with full term introspection - or more violently - unityped crap with everything in one big union type). – JLOIUS

                                                      • Correctness: time was known broken, but simple up until ERTS 7.0 when time warp was added. Single assignment is good, but don’t worry, ETS is there when you need it for some mutable goodness.
                                                      • Consistency: string module uses 1 based index, binary module uses 0 based index. Anything that takes needle, haystack – might take haystack, needle… check the docs.
                                                      • Completeness: sure, it would be nice to have decent string handling, but that would be a lot of work, how bout an list of bytes and you deal with it (complete it).
                                                      1. 1

                                                        Sounds like we both agree but we’re looking from different perspectives; in the end common sense needs to be used.

                                                  1. 2

                                                    I’m at work, so I was just able to glance quickly, but it doesn’t look like anything at the other end of this link confirms his death. Is this speculative at this point?

                                                    1. 7

                                                      Last I heard, someone on /g/ posted a screenshot of a Facebook page for Terry that had been set to memorial mode. The link to the page spread and people reported that Terry had died. Then, someone claiming to be OP replied to that thread and said that they had created the page themselves and were trying to fool their friends.

                                                      So yeah, sources are dubious

                                                      1. 6

                                                        Right at the end of the page: “Terry A. Davis (1969 - 2018). Rest in peace!”

                                                        1. 2

                                                          Thanks for this! I may have missed this originally, but I’m 90% sure that was added in-between when I posted and your comment.

                                                      1. 4

                                                        Finally signed the paperwork to create Ferrous Systems, my new Rust company. Now, it’s time or business development :). It’ll take a little bit of a different route than my existing one Asquera.

                                                        We already have our first clients and my already running Rust training business is doing good, as well.

                                                        Also, back on developing a database access layer (for the 5th? time I threw away a lot of prototypes).

                                                        1. 6

                                                          Jenkins really is a love / hate piece of devops kit for me. My users love the ease of creating simple, ad-hoc form UIs for parameterized jobs. The fact that all the configs are stored on the filesystem instead of a proper database makes it really difficult to host in a cloud environment. I know Jenkins was designed for CI / CD but it works really well as a cron-plus for arbitrary batch jobs. I desperately wish for it to be better for admins like me.

                                                          1. 2

                                                            I know Jenkins was designed for CI / CD but it works really well as a cron-plus for arbitrary batch jobs.

                                                            You might laugh, but this is exactly how a developer evangelist of Jenkins has once introduced it at a talk at our local Ruby users group.

                                                            1. 1

                                                              I’m not surprised in the least. This has been our main usecase for over 6 years. Prior to adopting Jenkins the whole team had to coordinate with a single crontab and had to jump through all sorts of hoops to avoid scheduling conflicts and to implement multi-stage jobs.

                                                              What I find funny is that Jenkins’ main competitors seem to be in the CI / CD market and no one I’m aware of is targeting the need for a devops command & control center. Apache Airflow and Rundeck might be potential alternatives, but neither of them are really well suited for cloud deployments either.

                                                              What are other folks here using for this?

                                                            2. 2

                                                              Fixing the storage issue is something KK has been working on for a while, and a bit part of “Jolt” as I understand it.

                                                            1. 2

                                                              Love how it quotes Gabe Newell, when many steam games only run when you are logged in.

                                                              1. 10

                                                                This continued trend of saying that easily-understandable language features that, even when unfamiliar, are a simple Google away should be avoided just in case someone hasn’t seen them before needs to end. We put features in the languages to be used, maybe not used every time the opportunity comes up, or in “overly clever” ways, but avoiding them in clear cases to avoid anyone else needed to learn anything just reduces the level of learning industry-wide.

                                                                1. 1

                                                                  I think there are language features out there that are so esoteric they should be avoided – Ruby’s flip-flop operator comes to mind. This doesn’t seem to be in the same category; I was able to grok the idea after a 30-second explanation.

                                                                  1. 1

                                                                    With flip-flop, the case is a little different though: Matz himself has said so, even very long ago.

                                                                    (See the relevant chapter in Matsumoto/Flanegan: The Ruby Programming Language)

                                                                    1. 1

                                                                      For-else is esoteric as well. It’s mentioned once in the Python documentation, and no example is given. Same with try-else. Guido himself said he wouldn’t have put the functionality in there if he’d had a time machine https://mail.python.org/pipermail/python-ideas/2009-October/006157.html

                                                                1. 5

                                                                  We announced the fifth RustFest and have quite some stuff to do in the wake. (Starting CFP, Ticket sales, etc)

                                                                  1. 1

                                                                    Next level: port electron to windows 95, run Slack on this.

                                                                    1. 3

                                                                      Ironically, the maker of the win95-in-electron hack works at… slack. https://github.com/felixrieseberg

                                                                      1. 1

                                                                        That would be quite a hack. I doubt Electron could even be made to run on Windows 95. Once Windows 98 came out, Win95 was all but forgotten by 99% of the computing world in short order. I would guess that most programs of the pre-Win7 era that are still actually useful have roughly this level of support:

                                                                        • Windows XP: probably? maybe?
                                                                        • Windows 98: not likely
                                                                        • Windows 95: lololol
                                                                        1. 1

                                                                          Pre-Win7 would have been Windows Vista. Nearly all programs should have run on Windows XP that were being developed on Vista. Typically you’re going to want to target the current release and at least the last major release. I think you’re correct about 98 and 95 though. Even today with Visual Studio 2017 compiling C++ I can target Windows 7, although I think by default you only get to target Windows 10 and Windows 8.x

                                                                      1. 3

                                                                        Called it.

                                                                        https://lobste.rs/s/w6d7t0/police_searches_homes_zwiebelfreunde#c_pct87d

                                                                        It’s not like I’m clever here, this is a really frequent pattern in Germany, as illegal searches have really no repercussions for the police and “fruit of the poisonous tree” doesn’t exist. This pattern is standard in Germany.

                                                                        1. 3

                                                                          \o/

                                                                          1. 6

                                                                            Imho this sounds like what is potentially/usually addressed by the AGPL.

                                                                            1. 4

                                                                              No, the text they write definitely shows that they are in for the money.

                                                                              1. 2

                                                                                AGPL can be used like that… cannot it?

                                                                                1. 4

                                                                                  It doesn’t address the core problem. Most OSS companies have a business model that revolves around support. If a large hosting provider like Amazon comes in and provides an “as a service” version, that cuts off a primary revenue stream. If said hosting provider doesn’t produce improvements to the codebase then AGPL doesn’t matter.

                                                                                  1. 1

                                                                                    I thought AGPL is specially forged to prevent that. Or do you mean that Amazon recreated their own version from scratch?

                                                                                    1. 3

                                                                                      AGPL says you have to release improvements. It doesn’t make you contribute to the community.

                                                                                      If a community is getting a lot of financial support from a company like Redis Labs paying for core open source work, a company like Amazon can come along and do an as a service version and contribute nothing. AGPL does nothing for that.

                                                                                      The issue is many projects are pushed forward by commercial offerings that rely on support/services as a means to provide financial support. Our open source licenses provide no protection for that model.

                                                                                      Perhaps the model is flawed and we need something better. But there is no protection from parasitic behavior in that case.

                                                                                      It extends further though, in general, there’s no way for an open source community to develop a means to financially support itself and not rely on free labor that is free of concerns. But that’s another topic.

                                                                                      The world has changed around free and open source. They haven’t adjusted to that change beyond AGPL being created to address some issues.

                                                                                      I personally don’t think that commons clause is the right solution but I understand the problem they are looking to solve.

                                                                                      Apologies for any typos. I answered this from my phone.

                                                                                      1. 1

                                                                                        Nice explanation!

                                                                                  2. 1

                                                                                    Companies dual-license under both GPL and AGPL. So, it could be done AGPL with cloud vendors paying a license. There’s a lot of FOSS developers that oppose the AGPL, though.

                                                                                2. 2

                                                                                  AGPL

                                                                                  The previous license for the 3 modules in question was previously AGPL.

                                                                                  1. 1

                                                                                    It absolutely is. Read the FAQ section on the AGPL, it’s very unclear. ‘Many features of the AGPL…’ kind of language. What features? It’s not the Linux kernel, it’s a license, it’s pretty small, just say what these supposed features are.

                                                                                    Of course the reason they don’t is that it’s a smokescreen: the AGPL is of course fine, but their goal isn’t to make the software free, it’s to profiteer off it.

                                                                                    1. 6

                                                                                      Yes, Redis Labs is in the business of paying people to work on Redis and the Redis ecosystem and needs to make money to do that. The business model for companies such as that is based on support. If someone cuts off that revenue stream the money falls apart. We can as a community accept that such companies will need to build protections for themselves (licenses like common cause or having some closed source components) or accept a world in which there are no companies that exist to support specific products that could be turned into as “as a service” by a large player.

                                                                                      The AGPL does nothing to stop someone like AWS from taking what Redis Labs does and making money off of it and wrecking the Redis Labs business model (which is shared by a number of companies). I commend them for trying an approach that leaves the module source available and even “open” for some segment of the user base. The alternatives are “new business model”, “go out of business”, or starting to make more and more of their offerings closed source.

                                                                                      1. 2

                                                                                        The AGPL does nothing to stop someone like AWS from taking what Redis Labs does and making money off of it and wrecking the Redis Labs business model (which is shared by a number of companies).

                                                                                        Nonsense. AWS wouldn’t touch an AGPL redis with a ten foot barge pole.

                                                                                        AGPL/commercial dual licensing is actually open source.

                                                                                        I commend them for trying an approach that leaves the module source available and even “open” for some segment of the user base. The alternatives are “new business model”, “go out of business”, or starting to make more and more of their offerings closed source.

                                                                                        Calling this open is literally telling a lie.

                                                                                  1. 2

                                                                                    I haven’t had ads on my blog in over a decade. I’ve been meaning to remove the Facebook Page/Twitter widgets too when I get around to my redesign, since I’m pretty much giving both companies free information with them.

                                                                                    1. 4

                                                                                      There’s a lot of implementations that load the widget once the user want to use them. They are pretty common in Germany and pretty much work by having the button “primed” with one click, which loads and activates the JS and the widget.

                                                                                      1. 1

                                                                                        I think thats how most privacy extensions make them work. Disabled until you click them.

                                                                                      2. 3

                                                                                        I have such buttons that work without Javascript. Just normal links.

                                                                                        1. 1

                                                                                          You might consider using these or similar social sharing buttons without javascript or tracking.

                                                                                          1. 3

                                                                                            Well, so one of my Berlin Rust Hack & Learn regulars is porting rustc to Gnu Hurd. I can switch soon, year of the desktop is 2109.

                                                                                            1. 2

                                                                                              The fact that I can’t tell if this is a joke or a typo makes it a better joke.

                                                                                              1. 2

                                                                                                Both. I made the typo and decided to’s too good to be fixed.

                                                                                            2. 3

                                                                                              If I remember correctly Haiku also has microkernel.

                                                                                              1. 4

                                                                                                I thought that BeOS was microkernel based on what so many said. waddlespash of Haiku countered me saying it wasn’t. That discussion is here.

                                                                                                1. 1

                                                                                                  Haiku has a hybrid kernel, like Mac OS X or Windows NT.

                                                                                                2. 2

                                                                                                  QNX, Minix 3, or Genode get you more mileage. At least two have desktop environments, too. I’m not sure about Minix 3 but did find this picture.

                                                                                                  1. 1

                                                                                                    Don’t MacOS and iOS both use variants of the Mach microkernel?

                                                                                                    1. 4

                                                                                                      They’re what’s called hybrid kernels. They have too much running in kernel space to really qualify as microkernel. Using Mach was probably a mistake. It’s the microkernel whose inefficient design created the misconceptions we’ve been countering for a long time. Plus, if you have that much in the kernel, might as well just use a well-organized, monolothic design.

                                                                                                      That’s what I thought a long time. CompSci work on both hardware and software has created many new methods that might have implications for hybrid designs. Micro vs something in between vs monolithic is worth rethinking hard these days.

                                                                                                      1. 5

                                                                                                        That narrative makes it sound like they took Mach and added BSD back in until it was ready, when the evolution of Mach was that it started as an object-oriented kernel with an in-kernel BSD personality and that was the kernel NeXT took, along with CMU developer and Mach lead Avie Tevanien.

                                                                                                        That was Mach 2.5. Mach 3.0 was the first microkernel version of Mach, and that’s the one GNU Mach is based on. Some code changes were backported to the XNU and OSFMK kernels from Mach 3.0, but they were always designed and implemented as full BSD kernels with object-oriented IPC, virtual memory management and multithreading.

                                                                                                        1. 2

                                                                                                          Yeah, I didn’t study the development of Mach. Thanks for filling in those details. That they tried to trim a bigger OS into a microkernel makes its failure even more likely.

                                                                                                          1. 1

                                                                                                            I don’t follow the reasoning; what failed? They didn’t fail to make a microkernel BSD, as Mach 3 is that. They didn’t fail to get adoption, and indeed it’s easier when you’re compatible with an existing system.

                                                                                                            1. 1

                                                                                                              They failed in many ways:

                                                                                                              1. Little adoption. XNU is not Mach but incorporates it. Whereas Windows, Linux, and BSD kernels are used directly by large, install bases.

                                                                                                              2. So slow as a microkernel that people wanting microkernels went with other designs.

                                                                                                              3. Less reliable than some alternatives under fault conditions.

                                                                                                              4. Less maintainable, such as easy swaps of modules, than L4 and KeyKOS-based systems.

                                                                                                              5. Due to its complexity, every attempt to secure it failed. Reading about Trusted Mach, DTMach, DTOS, etc is when I first saw it. All they did was talk trash about the problems they had analyzing and verifying it vs other systems of the time like STOP, GEMSOS and LOCK.

                                                                                                              So, it was objectively worse than competing designs then and later in many attributes. It was too complex, too slow, and not as reliable as competitors like QNX. It couldn’t be secured to high assurance either ever or for a long time. So, it was a failure compared to them. It was a success if the goal was to generate research papers/funding, give people ideas, and make code someone might randomly mix with other code to create a commercial product.

                                                                                                              All depends on viewpoint of or requirements for OS you’re selecting. It failed mine. Microkernels + isolated applications + user-mode Linux are currently best fit for my combined requirements. OKL4, INTEGRITY-178B, LynxSecure, and GenodeOS are examples implementing that model.

                                                                                                      2. 3

                                                                                                        Yes, but with most of a BSD kernel stuck on and running in the same address space. https://en.wikipedia.org/wiki/XNU