1. 6
  1.  

  2. 40

    Microsoft is an exception, and it must die

    No extreme opinions in this article!

    Now, you’re not giving anything back. I’m curious, why is that?

    Code contributions aren’t the only way to ‘give back’ to the larger software community. There are: financial contributions, writing blog posts, hanging out in IRC or other channels where you can advise people and answer questions, and communities like Lobste.rs where we exchange advice, perspective, approaches and techniques, all helping to move the community forward.

    And how many times do we hear Rust/Clojure/Haskell evangelists wishing there were more professional uses of their language and tools in production? Doing the work of bringing open source technology into a professional/production setting is contributing to the long term success of open source.

    The fact is, if you take an extraordinarily narrow view of anything you can make whole swaths of people sound like assholes!

    It’s not a crime, after all. You’re not stealing anything (although I actually think you are, but that’s a different story).

    Well, it’s not open if it can be “stolen” (an action that doesn’t actually take anything away from anyone), so I’m not sure what the author wants this software to be.

    my typical opponent

    Are you trying to have a conversation and understand where people are coming from, or fighting a battle where you prove that other people don’t really care as much as you do?

    I strongly believe that in 95 percent of cases, when you explain that your software seriously depends on a few open-source libraries that may need some improvements, your boss will have nothing against you becoming a contributor.

    Would you really contribute code you worked on in a professional setting through your personal Github account? The whole thesis of this article was that having an empty Github account proves that you have no passion and only code for money…

    Maybe this happens rather often; I don’t know.

    Speaking of saying some words vs having them reflected in your actions.

    Tomorrow if they ask you to use stolen software, you may say you had no choice

    “My boss doesn’t want to pay me to contribute back to open source” and “my boss wants me to use stolen software” are not equivalent, so trying to use the latter to condemn the former is fallacious.

    Simply admit that you’re too weak to follow your passion.

    Again, it’s not a crime. It’s just who you are.

    Let me translate: I’m not saying you’re a bad person or anything, you’re just a passionless shill with no spine that doesn’t follow their dreams!

    Gee, thanks.

    Apparently being passionate means sacrificing everything else in your life, including personal growth, interests, family, relationships, religious or community involvement, that after school mentoring program you do, your volunteering at the local assisted living facility, and anything else in the whole world that you might prioritize or place more importance on than contributing to open source.

    And if you’re at a responsible company that genuinely improves peoples’ lives through their work, whose goals happen to not align with open source (that is, your changes aren’t suitable to the general project), then you’re back to being a passionless, money obsessed, weak person.

    Counter argument: there are many ways to contribute to the programming community outside of direct code contributions, and many ways that a passion for programming could coexist with many other life passions or purposes.

    tl;dr: you can’t judge somebody’s character by the contents of their Github, no matter how many articles you write about it.

    One final angle, how much privilege do you need to have to really believe this?

    • Highly stable financial situation where you can quit a job because you don’t like their open source policy
    • Can easily find a job without having to worry about discrimination, or how you’ll be treated in a new work environment (age, gender, ethnicity, and plenty others I’m sure)
    • Do not have a life outside of work that has no complications that would suck up your free time (children, family members to take care of (age, sickness, need), mental health issues..)
    • or that would pressure you into keeping a job (children, spouse, financial obligations, health complications, mental health issues) (a lot of these create both time and money pressures, so they’re on both lists)

    So if any of the above do apply to you, then it must be your fault because you’re not passionate enough.

    Or maybe life and people are complicated and this article is trash.

    Okay fine, something productive. If you want to write this article but not be a jerk about it, take the reasons you hear that people cannot contribute to open source and offer solutions.

    • Company won’t support you? Talk to your CTO! Here are some things to say that have a high success rate…
    • Want to spend time with your family and kids? (Good on you, they’ll appreciate that as they grow up). Here are some simple things that don’t take much time, but go a long way: be sure to report bugs you come across & how to recreate them, contribute documentation if you use and have tested a complex setup, etc
    • You find the open source community hard to break into? Here are some good projects, and some tips
    • You find the open source community unfulfilling to engage in? Here are some organizations doing important work!

    Of course, you’d have to drop the part where you’re trying to prove how passionless and money driven your readers are… What was the real goal of this article again?

    1. 8

      Thanks for writing this, it touches and covers all aspects!

      There’s so many facets of this. For example, for conf organisers, a running joke is that whenever you run a conference, your GitHub has a hole. Its a little annoying, because those are your days of very high contribution.

      My personal hobby(!) is community growth, and I still personally find the whole idea that every user of open source project should contribute back to open source weird for several reasons.

      a) Quite some OSS projects are actually not well set up for large volumes contributions. That needs time and review staff. That staff must be trained and willing to do that work. PRs sitting on a repos are not helping anyone. A lot of contributions just get lost, making them ineffective. Sending more people their way doesn’t make things better.

      b) Beyond submitting small patches, proper large-scale development is a team sport. I’m all for open teams and an inclusive approach, but there’s quite a lot of personal reasons to decide not to work with a team. It’s a non-trivial effort to find teams you’d like to work with and get used to their ways. At some point, or even very early, you might notice that their ways are fine, but not the ones you want. Which makes you searching again.

      c) There’s a lot of output that goes nowhere. A lot of stuff on GH is people releasing their playthings that they learned on. That’s great, they are also learning release processes, but I’d argue that it also doesn’t “contribute to open source”, that’s much more then slapping the right license on.

      I don’t want to work with people that are motivated by some sense of guilt. I don’t think its a good motivator.

      1. 7

        I actually wish I could contribute to open source projects, but I just don’t have any time left after work and spending time with my kids. The work I do during the day is complex enough (as well as being frontline support) that if I were to actually contribute to an OSS project (say, after my kids go to bed) the project would really only be getting a small percentage of my actual focused abilities because I had to work all day building the things I get paid to work on so that I can feed my kids. In order for me to contribute to a project, even just to submit a single patch for a bug, it could take me weeks as I would only be able to give about 30 minutes to an hour a couple nights a week, some of the codebases I use it would take an entire week just to get familiar with the codebase, let alone find a bug and fix it.

        What if you’re a developer who works for an organization which actively contributes funds, etc… to open source projects, but you yourself aren’t directly involved in a project. Surely the fact that you work for that organization, and that you generate income for that organization, which in turn finds it’s way to an open source project means that you are contributing, no? My org has over 50,000 people working for it. If I wanted to open source my code or get them to pay me to contribute to open source I’d have to get approval from multiple levels of directors, legal departments would have to review it, etc… 99.9% of which would have no idea what I was talking about as they have no background in software.

        You CANNOT conflate being passionate about open source and being passionate about software development, they are two very different things. I’m extremely passionate about software development, the only things I read are about software development, systems architecture and engineering and every morning i’m raring to sit down at my desk to solve the problems I need to solve to do the work I do. I learn new languages as and when I can, I read through OSS codebases to see how other people do things and to advance my own understanding of languages and systems, but according to the author, this isn’t enough to make me passionate about software development? The kind of rhetoric this person is spouting needs to be exposed to as few people as possible, someone else mentioned banning posts from the domain, or at least a tag or a warning on the article saying this article contains views which are counter-intuitive to online communities and cohesion.

        I’ll tell you something i’m not passionate about, handling dates, I hate having to deal with dates and timezones, i’m not passionate about that whatsoever, when I have to deal with complex date stuff, I will find a library to make it easier. I will openly admit I really don’t want to work on an OSS datetime library, if I had to contribute to a datetime library, I wouldn’t enjoy it and directly correlated to that I wouldn’t be giving it my 100%. So I should do half-arsed work on things I’m not passionate about just because I legally used that library in my project? What if I have nothing to contribute in the problem domain because all I ever need to do is never more complex than handling some timezone shifts, formatting and date manipulation and never come across a bug because the library is well developed?

        And what about people who aren’t “software developers” who use things like pandas, numpy, etc… to do data analysis for scientific, statistical work. Are they stealing because they use pandas to quickly perform stats calcs in their problem domain? Are they thieves, because a lot of these people aren’t software developers, they’re scientists who learned a skill (writing python and using a single library) in order to help them do their job, should they then learn software development practices and start contributing to OSS projects when their passion is trying to find a cure for parkinsons?

        1. 5

          Your productive part is really what this article should be if he would have wanted to to bring people not participating in open-source to do something or make them aware of how much it’s important. The way he write the article tells me he don’t really care and just want feel better or something else I’m not quite sure, but I can assure you that being treated that way don’t give me an inspiration to participate in a project he’s in (but that’s probably ok too since he would not want me in the first place since I’m not passionate :). )

          1. 3

            Well, it’s not open if it can be “stolen” (an action that doesn’t actually take anything away from anyone), so I’m not sure what the author wants this software to be.

            Here’s a question not directed at you, but based on the points you raised and for the author and others in the open source world: if someone believes that contributing to the upstream community is a necessary part of interacting with their released source code, why do they use licences like BSD, MIT, GPL etc that don’t require contributing back to the upstream community?

            1. 4

              I’m amazed by the number of people that just pick the hottest license currently and never write down what they actually want from it before picking. Later, they complain that companies are using their stuff.

            2. 2

              Well, it’s not open if it can be “stolen” (an action that doesn’t actually take anything away from anyone), so I’m not sure what the author wants this software to be.

              I interpreted it as using GPL’d software in violation of the license.

              Otherwise it might be that he considers using software without contributing as “stealing” as he allured to in his post.

              1. 8

                The full line I quoted from the article was

                It’s not a crime, after all. You’re not stealing anything (although I actually think you are, but that’s a different story).

                If it were a legal license issue, then it would be a crime. But “It’s not a crime”, so he isn’t referring to the GPL and copyleft.

                So I agree with your second interpretation, that using open source without contributing back is “stealing”. My comment is in response to this interpretation.

                Specifically that, since “stealing” doesn’t violate the license (wishes of the creators), and doesn’t harm any one involved with the project (how could they even tell if you downloaded an open source, properly licensed project off of github for internal use?), then “stealing” really isn’t an appropriate word; unless we water down the definition of “stealing” so far that it becomes interchangeable with “using without harm in a way I don’t like”, at which point we have destroyed what it means to be open in the first place (along with what it means to steal).

                I’ll admit it’s a bit of an involved argument, but, intentionally misusing words leads to this sort of thing.

                1. 4

                  then “stealing” really isn’t an appropriate word; unless we water down the definition of “stealing” so far that it becomes interchangeable with “using without harm in a way I don’t like”

                  I actually think it was meant in a much worse way; for instance the way the RIAA/MPAA want to frame “getting something of value without paying for it” as theft.

                  http://wondermark.com/c1213/

                  1. 2

                    The RIAA/MPAA are wrong.

                    But I’m preaching to the choir.

            3. 22

              I wish articles from such a toxic people were less publicized. Especially here on Lobsters (should we block some domains from submission?). Here is another one from the same guy as if you needed more hints: http://www.yegor256.com/2014/10/29/how-much-do-you-cost.html

              1. 16

                From that article

                You’ve chosen the country that you live in.

                How many people genuinely have chosen the country they live in?

                1. 9

                  I honestly can never tell if Yegor is satire or not. We should definitely have some kind of system where if a high enough ratio of users flag articles repeatedly from a domain, the domain gets restricted.

                  1. 1

                    Or a “flag this domain” knob; but I +1 the general notion.

                  2. 1

                    Wow. tldr Bob Barton (Burroughs), Alan Kay’s team, Steve Wozniak, and many others would’ve been worthless hires because they didn’t do enough Github and StackOverflow or their times’ equivalents. They were merely doing great design in software and hardware they were paid to do. Unacceptable to top-tier organizations such as Teamed.io. The irony gets greater when Doug Engelbart might get filtered on anything involving tech, the word “team,” and the Internet.

                    Someone in the comments pointed out many people just develop good software for whoever pays them without stuff on this list. The OP’s character is more obvious in the two links he used to respond to that:

                    http://www.yegor256.com/2015/10/06/how-to-be-good-office-slave.html

                    https://github.com/yegor256/blog/commit/e8e0e5da7d665061d4c9b5afd7bbcf346355aa18

                    Might want to avoid Teamed.io…

                  3. 11

                    this lack of open-source activity tells everybody that you’re not passionate about software development

                    — from the linked post

                    “Passion” is a code word for “has a lot of free time,” which means no one with child- or elder-care responsibilities (mostly women)…

                    thread on Twitter by Sarah Mei explaining why some people might not have time to work outside work or on open source.

                    1. 8

                      Did you ask your CTO about it?

                      Yes. He said no. I’m being paid to develop their software not my or someone elses software.

                      I usually want and try to contribute, the major roadblock is usually the barrier to entry; I find it rather difficult to enter open source project and contribute meaningfully.

                      1. 6

                        That’s an extraordinarily narrow view of things by a CTO (I was one) but it might have been how you broached the subject, ex.

                        1. You say, “Can I work on open source on company time?” They hear, “Can I waste company time?” Answer: No.
                        2. You say, “I found a bug in a library our product is based on and fixed it. It’s Open Source under the XYZ-License. How do I go about submitting the patch to the upstream maintainer?” They hear, “Fixed a problem. Hmmm? we’re using Open Source…” Answer: Email me the details and I’ll run it past Legal.

                        As to the second roadblock, I suggest taking something you use or want to learn and read the docs. Try to use it. If the docs don’t match the behavior, correct the docs and submit it. If there’s no example, submit one. If you find a bug, try to fix it. Can’t figure it out? Compose a test case that demonstrates it and submit that. No tests? Write some. If it’s using an old version of some library, try updating it and run the tests. Very quickly you become a useful contributor.

                        1. 3

                          The other scenario that the original article doesn’t take into account is what if the OSS code you’re using just works fine for you and doesn’t need any changes for the use case you need? It doesn’t get blogged about much, but most software development is just adapting existing solutions to the use case of a specific business; in a situation like that it would be a bad sign if you were constantly patching the underlying libraries to get them to do what you need.

                          1. 2

                            Quite true. It’s really nice when things just work.

                            I will say sometimes you run into a project that is not-really-opensource. I’m using a few of these now and we’ll probably never blog about it. The code is OSS in all the usual ways except that the company that produced it doesn’t really want to accept patches and while their design supports plugins the language and tooling doesn’t without it being in the main tree. After months of going pillar to post with various fixes and some generally useful extensions we’ve just accepted that we’ll maintain internal forks and suffer the merges while we look for replacements and write proprietary ones. Which I think is a bit of a shame.

                            1. 1

                              You never find problems, missing features, or confusing docs?

                              What ecosystem of code do you work in?

                            2. 2

                              The issue is, I don’t really work on anything that would make me come into serious enough contact with any open source library, let alone setting up the development environment for patching it and then submitting upstream, then waiting for the next release to trickle into Debian.

                          2. 10

                            Remember, kids - if your doctor only sees patients when she’s at work, she doesn’t really care about helping people, or medicine.

                            1. 2

                              juliette grand slammed the punk with a comprehensive rebuttal. I also give you props for destroying it with simplest, shortest counter that clearly illustrates the point. I’ll probably quote you in the future. :)

                            2. 13

                              I said it before and I’ll say it again. This guy is pure toxic bullshit.

                              1. 4

                                Another take on open source development, with less focus on the morale and more on the person itself (you): https://jvns.ca/blog/2014/04/26/i-dont-feel-guilty-about-not-contributing-to-open-source/

                                1. 4

                                  I think it’s an interesting article, but I disagree with the effort it takes to get the upper management on board with OSS.

                                  I once had an interview in San Diego with QCOM, and noticed that the upper level guy who was interviewing me for the position (I was going for a Sr. SE, so, he was probably VP level for the group), was playing with scissors as I was asking him how come they extensively use LLVM for their projects on this team, yet don’t feel like doing any contributions at all whatsoever (he was very clear on both points).

                                  Likewise, other occasions with many other companies, except for the playing with scissors part — was something to remember.

                                  1. 4

                                    I’d rather discuss this other article that he links twice - http://www.yegor256.com/2015/07/21/hourly-pay-modern-slavery.html :

                                    A free man sells results, not time.

                                    Only a manufacturer or service provider with no changing requirements can sell “results”. A freelance programmer should sell their time or see their hourly rate go down with each and every “small change” for that fixed-cost project.

                                    Contracting an unpredictable amount of time for a fixed price is not freedom. It’s stupidity.

                                    1. 2

                                      apart from the quality issues of this article, my reason is:

                                      <rant> i don’t want to add to the pool of semi-working-oneshot-garbage. it seems the modus operandi is to just put it on github, regardless if it is working/well engineered. most things are sold as the best thing since sliced bread, even if they are only working half of the time, if the stars are aligned correctly and mongorb, redis and docker are involved. </rant>

                                      while i have some things cooking which may be mildly interesting, i’d rather wait to find the time to add good documentation and clear bugs before making things public.

                                      1. 1

                                        They don’t allow you to give anything back to the open-source community. They want you to use those free libraries and give nothing back. And it is their corporate strategy. I doubt that’s the case.

                                        At Apple, this is the corporate strategy, and is one of the reasons I left. When I left, there was definitely some moves to make contributing back to open-source easier (mainly to a few particular projects, such as Cassandra, Solr, and Kafka), but by no means was it easy. For all other projects, it simply wasn’t worth it to make the attempt due to the incredibly high overhead of management and legal for even small changes. If I have to write an email or fill out a form that is longer than my pull-request would be, then I’m not going to do it.