1. 6

    What you would do is, instead of having that data being diverted to third-party servers that you have no control over, you would either set up your own server or pay for a service by a trusted third party to store that data yourself.

    Peak silicon valley capitalism: dying because the doctors couldn’t access very important info about you because the server with that info was turned off because you didn’t pay for the hosting.

    1.  

      I think peak Silicon Valley capitalism would be a free medical record host that profits off the data.

      1.  

        Heh. Do me a favor, and do a quick search of software for your average doctor’s office or hospital, and let me know which one is the best.

      1. 3

        Hm. This seems like something NPM could have prevented by running a basic “npm install ” in a container on attempt to publish and rejecting stuff that doesn’t even build. Any reason npm doesn’t do this today?

        1. 2
          1. Someone publishes X dependency
          2. I publish Y project based on X.
          3. Npm checks it and it installs just fine (what you suggested)
          4. X dependency is unpublished
          5. Y project is now broken
          1. 2

            That’s a different problem though. I’m talking about “I updated and it won’t even build when I upload it.”

            You’re talking about “it used to build, but doesn’t now.” Even then, npmjs.org already has a list of the dependents for a particular project so an unpublish could be alerted on.

        1. 6

          I like how it has simple “Do this, not this” plus “here’s the engineering why” plus “here’s the child playing with Legos why” all in one doc.

          1. 4

            I feel this so strongly! When I started doing test driven development, I discovered that I can wait two seconds without changing focus. I’ve kept my personal project test suites smaller than two seconds so I can test without losing focus on what I’m building.

            One of the test suites in a work codebase takes just under ten minutes!

            How many times do you run the test suite in a day? Multiply that times the length of your test suite, see how much time productive time was removed from your day.

            Or, pick a codebase you work with often, find a way to speed up the tests, and see if that increases your productivity?

            1. 1

              One of the test suites in a work codebase takes just under ten minutes!

              How many times do you run the test suite in a day? Multiply that times the length of your test suite, see how much time productive time was removed from your day.

              I’ve tried to combat this with a model of progressive testing. We might disable the long-running tests on our local machine to pound out a couple of test cases, but every commit will queue up a real-deal full run of tests on our build server automagically.

              Maybe I do a bunch of commits in a quick series and I’ll get a nice backlog of tests churning away, but I don’t have to get distracted by them until I’m ready. Then I can look at the blob of tests that ran while I was coding and see what else I need to fix.

            1. 6

              11 services, 5 languages :-(

              1. 9

                Yeah, they’re really under doing it. They could’ve squeezed many of the programming paradigms into this one.

                1. 4

                  I find it hard to not smile at this comment for some reason.

                2. 4

                  You gotta pump those numbers up. Those are rookie numbers in this racket.

                1. 9

                  Disclaimer: I work alongside Kevin, who helped create the Commons Clause. I was not personally involved in the creation of the Commons Clause.

                  I agree with the premise of this article, which is that projects licensed under the Commons Clause are not open source, and to call them open source is misleading.

                  The subtext of this article seems to be “the Commons Clause is bad”, which I’m less sure I agree with:


                  1. Commons Clause makes it possible to publish source code that would have originally been closed source.

                  I’ve mentioned this before. Most of this code would have originally been closed source so the authors can make money off of it. The Commons Clause lets them still make money while making the program and source code available for as many users as possible.

                  I think this is a net improvement.

                  2. Using an open core model with existing OSI-approved licenses is unpleasant.

                  Software developers must feed themselves. They must get paid somehow. This is a hard requirement.

                  Open core has historically worked well for open source infrastructure companies at scale (e.g. Hashicorp, Docker, GitLab, Redis). These companies provide immense value for the software community by doing sustainable open source development. (The only successful large company I’m aware of that used the paid support model was Red Hat.)

                  If you actually talk to many of the teams working on open source infrastructure, they’re frustrated by existing licensing tools. There is a big difference between the value that these teams generate and the value that they’re able to capture. A big contributor to this is the fact that service providers like AWS run hosted versions of open source software and capture disproportionately more value than they generate for the community. This is a strong disincentive to provide open core infrastructure.

                  Permissive licenses like Apache allow this to happen. Highly restrictive licenses like AGPL are too broad and scare away proprietary users who would not be hurting the team’s sustainability. In practice, open source teams do not have an option for saying “I would like to be as permissive as possible, but still make money so I can fund sustainable development”.

                  3. “Free software” and “open source” as concepts are more nuanced than the GNU and OSI definitions.

                  The GNU and OSI definitions are very narrow, and generate a lot of confusion. This is exacerbated when people use “free software” and “open source” (as opposed to e.g. “Free Software” / “free-as-in-freedom” / “GNU free software” or “Open Source” / “OSI open source”) to refer to the GNU and OSI definitions.

                  There are immediate layperson meanings for these terms: “software that I didn’t have to pay for” and “software where I can view the source code”.

                  The terms “non-free” and “non-commercial” can mean too many things, and to use them to describe the Commons Clause is misleading:

                  1. Often times, Commons Clause projects are provided at no cost.
                  2. The entire point of the Commons Clause is to allow as much commercial usage as possible, and to only forbid the strictest possible subset of usage (reselling the software) to enable sustainable development.

                  In practice, there are gradients of freedom. To say that software that is not strictly GNU Free Software is not free or projects that are not strictly OSI Open Source are not open source is misleading to the everyday user.

                  I would love to see GNU and the OSI step up here with better education and clearer definitions around this.

                  4. By insisting on their definitions of “free software” and “open source” and failing to recognise this nuance, GNU and the OSI are missing the forest for the trees and will ultimately push more projects towards closed source models.

                  By winning this battle, they are losing the meta-game.

                  At the end of the day, what matters is not whether there are more OSI Open Source projects, but how much value we provide to the community. When open source advocates say that Commons Clause projects are “not open source” (in the OSI sense) and discourage its use, they are correct but harmful.

                  By taking away this middle ground, they push projects to be either free-as-in-freedom or proprietary. Given the pains of sustainable infrastructure development using OSI-approved licenses, I fear that this will ultimately drive projects that would rather be licensed under the Commons Clause (i.e. as permissive as possible) into becoming closed source and proprietary.


                  I don’t believe that the Commons Clause is the best solution, but I believe that it’s important to start a discussion around:

                  1. How can we best address the need for sustainable open source development?
                  2. Should we create new licensing tools to enable sustainable development? If so, how?

                  I think the fact that the Commons Clause has been able to get adoption is a strong signal that there is a real pain here (see also: MongoDB and its SSPL).

                  @SirCmpwn, I would love to hear your thoughts on a better way to enable sustainable development for open source infrastructure.

                  1. 5

                    Software developers must feed themselves. They must get paid somehow. This is a hard requirement.

                    In practice, open source teams do not have an option for saying “I would like to be as permissive as possible, but still make money so I can fund sustainable development”.

                    Redis Labs only became the official sponsor of Redis in 2015, four years after they were founded as a company. So if they weren’t the primary sponsor for four years, how did sustainable development get funded? Well, until Redis Labs hired him, antirez fed himself with a job at VMware. VMware and Pivotal sponsored Redis and funded that sustainable development.

                    Alright, so how do other developers feed themselves? Is antirez the exception? Did Gudio van Rossum work for some Python-centric company focused on support? Nope! He worked at research institutions, then Zope, then Elemental Security, then Google, then DropBox.

                    The creators of Apache Kafka worked at LinkedIn when they initially developed it. Three years after LinkedIn open sourced it, some of the contributors from within LinkedIn founded their own company to focus on Kafka. Until that point, those devs fed themselves with a job at LinkedIn.

                    Linus Torvalds fed himself with a job at Transmeta, then a series of non-profits that eventually evolved into the Linux Foundation (also a non-profit). Many kernel contributors are employed by hardware companies like AMD and Intel.

                    Developers must feed themselves, but they can totally do that by working at a company that doesn’t revolve around the software they write as its sole product.

                    I would argue that it’s more sustainable that way. Companies like Red Hat, Redis Labs, Canonical, Confluent, and a whole bunch more exist because companies want to buy a bunch of integration work ready-to-go rather than spending huge sums of money doing it themselves. If Canonical went bust tomorrow (as many Linux vendors before it have!) Linux would still get developed. Would Landscape, their closed-source management tool? Probably not. The open source component is the sustainer that allows new companies to spawn and die without fear of losing the core.

                    1. 3

                      You’re giving the exceptions to the rule, not the rule. The rule is most aren’t funded. The responses were really negative, too, with lots of stress and burnout. Whereas, the proprietary software that has users gets money automatically with it going up with product development and/or marketing. FOSS developers trying to catch up to that inherent advantage finding funding sources can itself seem like a 3rd job on top of their 2nd job of making the FOSS for free.

                      1. 2

                        You’re giving the exceptions to the rule, not the rule.

                        Do non-FOSS applications succeed at a higher rate than FOSS ones?

                        The rule is most aren’t funded.

                        Ok. Here’s the end of that article:

                        “P.P.S. [edit 1/18/16] The response to this post has been incredible. I’ve started a list of OSS projects needing support here. Please add your great examples there!”

                        That leads to a git repo that’s no longer maintained. Uh oh. But wait! There’s a link that leads to libraries.io with the tagline “Tidelift has over $1 million dollars available to pay open source maintainers. If you’re a maintainer: Find your package.” Here’s some info from Tidelift.

                        The responses were really negative, too, with lots of stress and burnout.

                        Do me a favor and read them again, only this time imagine they’re working at a Fortune 100 on a closed-source project. How many of those would sound out of place through that lens?

                        I have to say, if you asked me about the projects Ive been paid to work on full time (mostly internal stuff at various companies), I would have largely the same complaints at one time or another, including the one about “It is not fair to expect me to do even more work outside of my regular work, and then not get fairly compensated (time or money) for it.”

                        By the way, here’s what they’re doing now, 3 years on. EDIT: I just realized that some of these are highlighting users on here! I’d love to hear what you have to say now!

                        @pydanny, still going strong on GitHub and contributing to open source, in addition to writing books on Python.

                        @ryanbigg, quit maintaining his open source projects (at the time of the article) and handed some off to other teams and developers. Wrote several books on open source projects, continues to work on the i18n ruby gem.

                        @drmaciver, still working on Hypothesis and doing consulting and training around it.

                        @andrewgodwin, still a Django core member, employed by evenbrite.

                        @kantrn, continues to contribute to open source, did consulting. I didn’t see his employment listed on Twitter, but I found him on LinkedIn. He’s got a job as a principal engineer now.

                        @shazow, working on blockchain tech with his own project, Vipnode. Appears to be working full time on open source via grants and partnerships?

                        Even the person who said “I do not have the time or energy to invest in open source any more” is still contributing to open source. Some have started contributing to open source full time. Others are gainfully employed and either working on them as part of their core work.

                        Whereas, the proprietary software that has users gets money automatically with it going up with product development and/or marketing.

                        dwarffortress, WinRAR, WinAmp, Sublime text editor all release free versions hoping for donations or as a free trial. It is not automatic for proprietary software unless that software is so completely necessary that they can just bill you to even have a peek at it. Hell, even Windows offers a free trial despite decades of a virtual stranglehold on the market for desktop OSs.

                        FOSS developers trying to catch up to that inherent advantage finding funding sources can itself seem like a 3rd job on top of their 2nd job of making the FOSS for free.

                        See above for why it’s not an automatic inherent advantage. Also, that presumes the development needs external funding rather than external contributors who are already getting paid. I’d much rather convince my employer to let me contribute to open source for my regular salary and have other projects to work on for if the open source one goes bust or implodes or hires a toxic developer who everyone hates or I run out of things to do on it or I need a break from the grind.

                        1. 3

                          By the way, here’s what they’re doing now, 3 years on. EDIT: I just realized that some of these are highlighting users on here! I’d love to hear what you have to say now!

                          […]

                          @shazow, working on blockchain tech with his own project, Vipnode. Appears to be working full time on open source via grants and partnerships?

                          Can confirm. Typically I do consulting work for part of the year to make up for the year’s expenses, then I do self-guided OSS stuff the rest of the year. Vipnode turned out to be an exception as it was a self-guided open source project that happened to resonate with a generous community that wanted to support my work financially. (And give or take some sales effort on my part.)

                          Overall, I stand by my original quote in the cited article:

                          Publishing and contributing to open source is going to continue happening regardless whether I’m getting paid for it or not, but it will be slow and unfocused. Which is fine, it’s how open source work has always worked. But it doesn’t need to be this way. — @shazow

                          1. 1

                            Thanks for following up! Would you mind sharing some of how you did the conversion to working (mostly) full time on OSS stuff?

                            edit: boy did that sentence get muddled in the middle. Fixed.

                            1. 3

                              Any specific questions?

                              I have a yearly minimum earned income goal (as I’m generally self-employed). If I reach that goal, then I allow myself to switch to not-necessarily-paid OSS stuff. That income comes from a variety of sources (I have some SaaS projects like Briefmetrics, some ad income from high-traffic free projects like Tweepsect), but the majority comes from contracts with clients.

                              This year, a big chunk came from an Ethereum Foundation grant and the partnership with Infura.

                              I’ve considered doing a Patreon and funneling supporters through that, but I’m not convinced that the expected value would exceed the relative effort and anxiety that would come with it. Still mulling it over.

                              When I do paid work, I certainly prefer open source work, bonus points if it’s things I’m interested in independently. I have some recurring clients who allow me to do this kind of work sometimes, which is great. Sometimes I’ll take less-desirable yet high-paying work to reach the minimum income goal quicker so I have more time to do better things.

                              1. 1

                                Awesome summary! That’s really exciting about the partnership and the grant!

                                Any specific questions?

                                SO many. I’ll try to keep it brief though.

                                Where was the tipping point where you were like “You know what? I can work for myself.”

                                How do you find paid work on projects? Do people reach out to you for help, or do you hunt for places to help? Something else?

                                Have you found yourself to be more productive on projects in general now that you self direct?

                                What are some things that employers could do to make life better for folks doing open source contributions?

                                What’s a normal work-week like for you? What kind of hours do you keep?

                                1. 3

                                  Where was the tipping point where you were like “You know what? I can work for myself.”

                                  I’ve been doing it on and off for a long time (since I was in my teens), so it wasn’t a super scary idea. It helps to be good with tracking your own finances. Figure out how much income you need to at least break even with expenses, and see if you can find contract work to cover it. Then dial that number up year over year so you build up savings.

                                  Hint: It’s much easier when your expenses are low. I suggest not living in SF, or even in the US if you can help it (where health insurance is expensive and risky). That said, I primarily work remotely with US customers (SF/NY).

                                  How do you find paid work on projects? Do people reach out to you for help, or do you hunt for places to help? Something else?

                                  Recurring customers that you have a good relationship with are best, but those take time to cultivate. Small/medium well-funded companies have worked best for me, especially if you know people there who have a good idea of the kinds of help they might need with. Bonus points if they rely on your OSS work.

                                  Have you found yourself to be more productive on projects in general now that you self direct?

                                  In some ways. I certainly do more of the kinds of things I think I should be doing, and less doing things that I think are a waste of time.

                                  It can be hard to stay motivated day to day, especially if you’re working solo it can get lonely. That’s generally true.

                                  It’s common to have self-doubt, but it’s easier to power through it when you’re being paid. If you’re just burning your own savings for your own idea and you’re having self-doubt, it can be very hard to get over that hump. It’s hard learning to trust yourself, but maybe it gets easier with time.

                                  What are some things that employers could do to make life better for folks doing open source contributions?

                                  Encourage employees to spend work-hours time contributing back to projects they use and rely on at work. At least a day or two per week

                                  An open source donation budget would also be nice, maybe as a team you can sit down once every couple of quarters and make a top 5-10 projects that the team wants to have an impact on, and do it (whether financially or through effort).

                                  What’s a normal work-week like for you? What kind of hours do you keep?

                                  When I draft contracting agreements, I tend to limit it to 3 full-time days/wk of commitment. I feel like I get 80-90% of a “40 hour workweek” productivity in 3 days, and it cuts down on a lot of other things. Clients aren’t keen on excessive meetings when the time available is constrained like this.

                                  Personally, I’ve found Mon-Wed works best for me, and brief written status updates on Tuesdays. I don’t charge by the hour, but I do “productive hours” tracking internally for my own analysis. Days with 6 “productive hours” (ie. actual time spent writing code and such) are considered good days. Some days aren’t good days, and that’s okay. If I’m having a particularly off day, I’ll sometimes write it off and try again another day (like today… I’ll probably end up working tomorrow instead).

                                  If I wrapped up my primary commitment for the week and I have days left over, I’ll switch over to other projects. Occasionally, due to the nature of contracting (it’s impossible to maintain an equilibrium of clients around your own schedule), I’ll have multiple concurrent clients, but I try to avoid that when possible.

                                  1. 1

                                    This feels like it could be an entire medium article or something on its own.

                                    It can be hard to stay motivated day to day, especially if you’re working solo it can get lonely. That’s generally true.

                                    We have a bunch of employees that are 100% remote work, and I’ve noticed that some will take advantage of video chat while others generally seem to just want to be left the hell alone, with little variation in their routines.

                                    I don’t charge by the hour, but I do “productive hours” tracking internally for my own analysis.

                                    Do you have a particular tool you use for this? I’ve been meaning to do the same thing at work, but have always been kind of lazy about it because it requires so much extra effort to track by hand. I have noticed that on a “bad” day I can generally tell how much distraction I’ve had by the number of times I’ve had to pause my music :)

                                    1. 1

                                      This feels like it could be an entire medium article or something on its own.

                                      What’s a good spicy title for it? :)

                                      Do you have a particular tool you use for this?

                                      Not really. Right now I just log it with Harvest which I also use for invoicing. My friend really likes Timing2 for macOS, but I’m on Linux these days. I’ve considered using something like Thyme but it does more than what I need.

                                      Really I should just write my own basic timer that lives in the tray and a quick start/stop shortcut.

                                      I have noticed that on a “bad” day I can generally tell how much distraction I’ve had by the number of times I’ve had to pause my music :)

                                      That is a good one!

                                      I often try to keep a policy to stop music anytime I’m not doing “work”, just to condition myself and avoid getting lost in distraction.

                                      1. 1

                                        What’s a good spicy title for it? :)

                                        Maybe:

                                        Abort to Orbit: How I went independent and what I do when I need more.

                                        The concept of Abort to Orbit is that you launch your ship and then if the crap hits the fan, you’ve got a still-relatively-good fallback option. More importantly, you look at possible failure modes and address them rather than letting them hold you back.

                                        I’ve considered using something like Thyme but it does more than what I need.

                                        Oooh, that looks very promising indeed.

                                        I often try to keep a policy to stop music anytime I’m not doing “work”, just to condition myself and avoid getting lost in distraction.

                                        I follow the rule of “if they have headphones on, leave them the hell alone.” Exceptions include the building being on fire or prod issues. I’m trying to encourage my colleagues to do the same. It’s… hit and miss.

                          2. 1

                            Re success rate. Yes, non-FOSS succeeds in getting their developers paid at a higher rate despite failure rate for new companies being high. They actually charge for software. So, they win by default.

                            Re $1 million. So, FOSS developers have to divide up a million while proprietary developers get a slice of tens of billions in recurring profit. Your example argues my point more than yours.

                            Re working big companies instead. Many already work for them before doing the FOSS on the side. You’re in luck though since Ive surveyed thousands of people on this issue when working general public. Most gripe, shrug, or roll their eyes before saying “at east Im working” (low pay) or “but it pays well” (high pay). The percentage with terrible jobs can attempt to switch companies. So, they’re not a counter to my position but I decided to answer anyway.

                            Re anecdotes. Good they’re still contributing and/or employed. Remember my model has them working one job in regular hours paid for their work. In most examples I see, many still do FOSS as extra thing they’re not paid for. And often for lower amounts than proprietary sector pulls in.

                            Re trials. That’s a marketing technique to generate sales. Nothing in my post precudes loss leaders if necessary. The Prosper license, a candidate for shared source, allows a 90-day evauation for free.

                            Re last stuff. My post was about people that would like to get paid for their contributions not working extra hours on them. There’s people like you and maybe those you mentioned that want something different. Ive even known people, been one, to turn down money to keep their intentions purely altruistic or just separate fun from business. My comments may not apply to you or them at least for selfish gain and/or employment.

                            All that said, you still havent refuted biggest point that money dictates laws governing software freedom, FOSS-lovers are losing ground due to lobbying, the need a fortune to counter it, and current models paying a pittance guarantees we loose more freedom over time. I gave examples involving money being seized via patent trolling. If they want to get dirty, copyright law has criminal penalties, too. Current or future expansions might use it. Who knows what they’ll do in future but we have less if staying on same trajectory. Doing nothing in this case is still doing something (for opponents).

                            1. 1

                              Re success rate. Yes, non-FOSS succeeds in getting their developers paid at a higher rate despite failure rate for new companies being high. They actually charge for software. So, they win by default.

                              Do you have any stats to back this statement?

                              Re $1 million. So, FOSS developers have to divide up a million while proprietary developers get a slice of tens of billions in recurring profit. Your example argues my point more than yours.

                              If FOSS developers had to divide up $1 million amongst all the projects, it might argue your point. However, since as I pointed out in my other examples of companies that sponsor particular projects or employe developers directly to work on FOSS projects and companies based on FOSS Projects, this represents an additional $1 million to try to fill in the edges rather than core development. It’s disingenuous to represent that $1 million as the sole source of money for FOSS developers when Red Hat alone has $4bn in assets.

                              Re working big companies instead. Many already work for them before doing the FOSS on the side. You’re in luck though since Ive surveyed thousands of people on this issue when working general public. Most gripe, shrug, or roll their eyes before saying “at east Im working” (low pay) or “but it pays well” (high pay). The percentage with terrible jobs can attempt to switch companies. So, they’re not a counter to my position but I decided to answer anyway.

                              Can we see those survey results?

                              Re anecdotes. Good they’re still contributing and/or employed. Remember my model has them working one job in regular hours paid for their work. In most examples I see, many still do FOSS as extra thing they’re not paid for. And often for lower amounts than proprietary sector pulls in.

                              You said the rule was that they’re not funded, and cited a series of anecdotes. OK, pop quiz: how many of the anecdotes you cited resulted in people contributing to FOSS as their full time job rather than as an extra? Does writing books about FOSS count?

                              Re trials. That’s a marketing technique to generate sales. Nothing in my post precudes loss leaders if necessary. The Prosper license, a candidate for shared source, allows a 90-day evauation for free.

                              You said they get money automatically, which is demonstrably not true if they do a 90-day evaluation that doesn’t result in purchase. While it doesn’t preclude loss-leaders, it does refute your statement that they automatically get money.

                              Re last stuff. My post was about people that would like to get paid for their contributions not working extra hours on them. There’s people like you and maybe those you mentioned that want something different. Ive even known people, been one, to turn down money to keep their intentions purely altruistic or just separate fun from business. My comments may not apply to you or them at least for selfish gain and/or employment.

                              Fair enough, but your post claimed that “most” don’t get funded without any backing evidence, proprietary software “automatically” gets money without any backing evidence, and then made assertions about FOSS developers (without bothering to qualify it like “some FOSS developers” or even “most FOSS developers”) trying to “catch up” might have an experience like working a 2nd or 3rd job. You started with broad generalizations and suddenly want to add disclaimers?

                              All that said, you still havent refuted biggest point that money dictates laws governing software freedom, FOSS-lovers are losing ground due to lobbying, the need a fortune to counter it, and current models paying a pittance guarantees we loose more freedom over time. I gave examples involving money being seized via patent trolling. If they want to get dirty, copyright law has criminal penalties, too. Current or future expansions might use it. Who knows what they’ll do in future but we have less if staying on same trajectory. Doing nothing in this case is still doing something (for opponents).

                              The comment I responded to, in it’s entirety, is the following:

                              You’re giving the exceptions to the rule, not the rule. The rule is most aren’t funded. The responses were really negative, too, with lots of stress and burnout. Whereas, the proprietary software that has users gets money automatically with it going up with product development and/or marketing. FOSS developers trying to catch up to that inherent advantage finding funding sources can itself seem like a 3rd job on top of their 2nd job of making the FOSS for free.

                              Please show me where you made that biggest point or gave any of the examples you just claimed in the comment I replied to.

                        2. 3

                          Developers must feed themselves, but they can totally do that by working at a company that doesn’t revolve around the software they write as its sole product.

                          This stance ensures that FLOSS contributors will only ever be people who have abundant energy and free time outside of their work week. That excludes a bunch of, e.g., parents, people with multiple jobs, and people with medical issues.

                          1. 1

                            My point was that they can be employed by a company to do that contribution as a function of their job even if the company itself isn’t focused on that particular project. Redis exists because of this model. Ditto for Kafka. If you work a full time job doing open source for a company that uses that project and have a second job doing other stuff, how would that interfere with the open source contribution?

                            1. 2

                              Then that’s a chicken/egg issue. How does one get a job doing open source contribution (of which there are very, very few) without having open source contributions on their resume?

                              If you’re saying simply that companies should all contribute to open source, remember that running an open source project is significantly more work than simply writing software. That’s a large extra investment over what they’re doing now, and doesn’t have a clear ROI.

                          2. 3

                            I think the wording of the questions in the parent post is misleading, though probably not intentionally so. If the question was really, “How can we develop open source software sustainably?”, then as you have described, one answer is simply, “the same way we have for the last few decades”. However, I suspect the question they really want to ask is something along the lines of, “How can we fit open source development into a for-profit business in a capitalist economy?”. I do not think this is a bad question to ask, as the motivation for asking it is almost certainly a desire to promote and improve open source software full time without starving, but it is not the same as asking how we can develop open source software sustainably.

                            Once the questions are rephrased in this way, it’s a lot less alarming: The issue is no longer dressed up as a desperate attempt to save free/open source software, it’s just some people looking for business opportunities.

                            If you can run a successful business centred around free software development, that’s great. If you can’t, then FLOSS software development will continue regardless. I personally do not believe it is worth the risk of watering down the ideals of software freedom by implying, even if only by the names, that a free software license + commons clause is somehow still free.

                            As far as the “Commons clause” is concerned, I see two possibilities

                            1. It’s just ‘openwashing’. I.e. pretending to promote software freedom without actually making free software.
                            2. It’s genuinely trying to find some middle ground where software that would otherwise be closed source can be “slightly freer” without radically changing the owner’s business model.

                            Personally, I am opposed to 1. and have no interest in 2., but maybe option 2. might benefit some people in some way.

                            1. 3

                              This is essentially the “real musicians have day jobs” argument, and I find it very weak. There are a number of things wrong with it. The “day job” distracts from the work of open source maintenance and can make it much harder to do deep work. Only the top of the organization can really get jobs of this nature, it can’t fund helpers. It perpetuates the traditional problems in open source of making it easier to concentrate on technology as opposed to product management. The funding organization has too much control over the direction of the project, as opposed to the users who derive the most value from it.

                              But yes, in the current landscape, it’s (sadly) one of the more viable approaches.

                              1. 1

                                This is essentially the “real musicians have day jobs” argument

                                I disagree. The “real musicians have day jobs” argument is that because they can’t get a job doing the music they love, they do something else, right? Even if it’s still in music, they don’t do their main wish.

                                My argument is that not all projects require a company dedicated to that project to succeed. In many cases success is found in projects that have a variety of contributors. Some of them are paid to work full time on the project by a company that - while not primarily focused on the software - still want or need to invest in its development. Examples of this are AMD and Intel engineers working on the Linux Kernel, or how Kafka and Redis were initially developed before the contributors either formed or joined a company dedicated to the project.

                                Those companies provided incubation for projects that weren’t their core business model, but were useful nonetheless. Paying people to work full time on something you use - but can’t or don’t want to sell - is something many companies do already, but they don’t share the code. By open sourcing the project, they can get contributions from other companies with full time engineers that would use their code, or attract new talent from folks who want to work on open source but can’t because their current employer won’t allow it.

                                1. 3

                                  Then we agree to disagree. Again to use my own example, I think it’s likely that working on xi-editor fulltime would likely be the largest value I could create right now. I had a sweet gig very much like you describe, working for a big company where they let me put some of my time into it. But the goals of that project weren’t precisely aligned, and I found my concentration pretty fragmented.

                                  If I could find a sustainable way to work on xi-editor fulltime, I probably would. My decision to work on the synthesizer game is partly because it’s fun and exciting, and partly because, if it flies, it’s a nice revenue stream that will let me work sustainably.

                                  This is my experience, I don’t speak for anyone else.

                                  1. 1

                                    Your example is a good one, and I totally get that disagreement. Your point is well taken. Additionally, the idea that the goals weren’t aligned is a pitfall that I imagine has lead to many a fork over the years in various projects :)

                                    If you do find a way to work on it full-time and still want to, I absolutely want to revisit!

                                  2. 1

                                    Examples of this are AMD and Intel engineers working on the Linux Kernel, or how Kafka and Redis were initially developed before the contributors either formed or joined a company dedicated to the project.

                                    The examples you keep giving are rare. Most FOSS doesn’t get funding or dedicated employees by big companies. Most FOSS with lots of users doesn’t get AMD/Intel-type investments. If we’re talking general case, it’s more accurate to assume what happens in the general case now will happen in general case for other people unless incentives and environment driving it changes. They haven’t changed. If anything, companies appear to be using FOSS in SaaS dodging the need to contribute many changes back more often than before.

                                    And your only reply from people you quoted was a person that doing FOSS at a loss using revenue from other work. Like a 2nd or extra job worked for free while proprietary vendors of similar libraries get paid. Just like I said most would be doing if it’s FOSS.

                                    1. 1

                                      The examples you keep giving are rare. Most FOSS doesn’t get funding or dedicated employees by big companies. Most FOSS with lots of users doesn’t get AMD/Intel-type investments. If we’re talking general case, it’s more accurate to assume what happens in the general case now will happen in general case for other people unless incentives and environment driving it changes. They haven’t changed. If anything, companies appear to be using FOSS in SaaS dodging the need to contribute many changes back more often than before.

                                      The question is are they rarer than closed-source software getting that kind of investment? You haven’t addressed that statement beyond your assertion that it is fact despite an utter lack of backing evidence.

                                      And your only reply from people you quoted was a person that doing FOSS at a loss using revenue from other work. Like a 2nd or extra job worked for free while proprietary vendors of similar libraries get paid. Just like I said most would be doing if it’s FOSS.

                                      People you cited, I quoted. I extracted their quotes from the thing that you specifically cited as an example of work not getting funded, from an article that had at the core of its premise “FOSS doesn’t get funded.” I specifically cited the examples you gave claiming they contradicted my point.

                                      Even then, in the territory of something you cited as directly opposing my view, the response here was not a slam dunk for you point. On the contrary, you claim that the person is doing FOSS at a loss using revenue from other work despite them clearly stating that was not the case this year where a substantial chunk of their income came from exactly the funding you say is rare.

                                      You can still hide behind the fact that it’s an exception if you want, but it doesn’t prove that it’s any different in the proprietary world. You keep asserting it’s true without the backing. Show me the stats to compare the two and maybe we can draw a conclusion.

                              2. 2

                                Hi liftM, thanks for taking the time to write up your thoughts in such detail.

                                I agree with the premise of this article, which is that projects licensed under the Commons Clause are not open source, and to call them open source is misleading.

                                You’re right. This article is talking about two things:

                                • Using the Commons Clause and calling that software open source is dishonest and unethical
                                • The Commons Clause is bad

                                The reason these aren’t separate articles is:

                                • The two are related, because I think that the design of the Commons Clause actively encourages its users to lie
                                • I’m sick of writing articles about the Commons Clause.

                                Let me explain more about why I dislike the Commons Clause before I answer your questions directly.

                                First, I don’t think that FOSS is the end-all-be-all of software licensing. Like I said in the article, anyone is welcome to license their software any way they choose. I’m also a fan of source-available models as an alternative to closed-source software, I think it’s strictly better than closed-source. However, the Commons Clause is not a good way to license source-available software.

                                The Commons Clause should have been a new source-available license entirely. As an addendum to FOSS licenses, it’s totally bunk. The entire point of FOSS is to enshrine basic protections for the authors, users, and contributors. By removing these basic protections, the original license effectively becomes meaningless. It’s like a Jenga tower, with the removal of some freedoms it has a cascading effect which removes many of the others. Restricting commercial use has many grave side-effects: reusing the code elsewhere, forking the project, providing support after the maintainers abandon it, etc - all of this is now difficult-to-impossible, or at least egregiously under-specified by the Commons Clause.

                                Additionally, I take offense with the Commons Clause’s stated goal of turning previously open source projects into source-available projects. Though source-available is strictly better than closed source, it’s strictly worse than open source, and the change is a net loss for the commons - which is why I take offense with the name as well. It also fails to adequately explain the responsibilities maintainers hold to their contributors - without a CLA in place which assigns copyright to the maintainers, it’s in fact illegal to switch to the Commons Clause. Or at the least, the Commons Clause can only apply to new code, and the old license has to be kept in place and in many cases (notably Apache 2.0) the differently-licensed changes must be explicitly disclosed.

                                Now, to answer your questions directly…

                                Commons Clause makes it possible to publish source code that would have originally been closed source.

                                No, the stated goal of the Commons Clause is to transition code which was already open source to source-available. The code wouldn’t have originally been closed source because it was originally open source.

                                The Commons Clause lets them still make money while making the program and source code available for as many users as possible.

                                I don’t think it does. Without the rights afforded to users by the Apache 2.0 license, why would users have the good faith desire to use your software? Additionally, with so many grey areas, such an amateurish license, and only one option for support, any company who uses this kind of software is nuts.

                                If you actually talk to many of the teams working on open source infrastructure

                                Like me

                                A big contributor to this is the fact that service providers like AWS run hosted versions of open source software and capture disproportionately more value than they generate for the community.

                                So make a better hosted version than AWS has. Boo-hoo.

                                Permissive licenses like Apache allow this to happen. Highly restrictive licenses like AGPL are too broad and scare away proprietary users who would not be hurting the team’s sustainability. In practice, open source teams do not have an option for saying “I would like to be as permissive as possible, but still make money so I can fund sustainable development”.

                                Dual-licensing has allows this to work for ages. Use AGPL with a paid BSD option. Also note that many organizations have been successful with paid support, or with something like Patreon. You can also do sponsored blog posts, put their logos at your conference… get creative with it. You don’t need to capture all of the value of your software. Let AWS have some of it. By making it open source, it’s no longer yours. If you can make a living income on your software, demanding more is just greed. This is part of the commitment you make to the public by making your software open source. Companies like AWS have a vested interest in making sure you have a sustainable income - it’s your job to point this out to them, not to pull the rug out from beneath them.

                                “Free software” and “open source” as concepts are more nuanced than the GNU and OSI definitions.

                                No, they’re not. There’s no point in arguing this because I’m not going to concede it. Free software is defined by the GNU free software definition. Open source is defined by the OSI open source definition. If you do something which doesn’t fit in those niches, call it something else.

                                I would love to see GNU and the OSI step up here with better education and clearer definitions around this.

                                They already have. You just don’t like their definitions. Everyone else does, and in language the consensus is correct. If you misuse these terms you are a liar.

                                By insisting on their definitions of “free software” and “open source” and failing to recognise this nuance, GNU and the OSI are missing the forest for the trees and will ultimately push more projects towards closed source models.

                                Maybe they are. But the Commons Clause is doing a piss-poor job in their stead.

                                1. 0

                                  I’ve mentioned this before. Most of this code would have originally been closed source so the authors can make money off of it. The Commons Clause lets them still make money while making the program and source code available for as many users as possible.

                                  No it wouldn’t. You’re relicensing free software as ‘commons clause’ proprietary software.

                                  Using an open core model with existing OSI-approved licenses is unpleasant.

                                  Nobody is saying you have to use OSI-approved licenses, and nobody is saying you aren’t allowed to license things as source-available. What you aren’t allowed to do is to call those source-available models ‘open source’. That’s misleading.

                                  “Free software” and “open source” as concepts are more nuanced than the GNU and OSI definitions.

                                  No they aren’t. Literally it’s as simple as ‘no they aren’t’. They just aren’t more nuanced than that. Those definitions are what those mean to literally the entire software industry and all software hobbyists. They’re universally agreed upon terms with precise technical definitions. Muddying the waters then claiming that the waters are muddy is very poor behaviour.

                                  ‘Software I don’t have to pay for’ is called freeware. ‘Software where I can view the source code’ is called ‘source available software’. Laymen are completely irrelevant. The terms exist, they’ve existed for decades.

                                  Often times, Commons Clause projects are provided at no cost.

                                  Commons Clause is a proprietary software license. It does not give users the four freedoms, so it is a non-free software license. What it costs has nothing to do with whether it’s free. You know this, I know this, everyone knows this. This was all sorted out long ago.

                                  In practice, there are gradients of freedom. To say that software that is not strictly GNU Free Software is not free or projects that are not strictly OSI Open Source are not open source is misleading to the everyday user.

                                  No, you are being misleading. And you know it. That ‘open source’ means ‘open source’ and ‘free’ means ‘free’ is long established. Very long established. The words work, they’re good.

                                  By winning this battle, they are losing the meta-game.

                                  What an awful article. Someone just learnt what an analogy was, I guess, and decided to practice them. Unfortunately, it makes the article impossible to skim-read.

                                  At the end of the day, what matters is not whether there are more OSI Open Source projects, but how much value we provide to the community. When open source advocates say that Commons Clause projects are “not open source” (in the OSI sense) and discourage its use, they are correct but harmful.

                                  You acknowledge that they are correct, but before you’re saying it’s misleading. Sorry, but that’s a contradiction. And what is harmful is misleading people, which is what you are doing.

                                  By taking away this middle ground, they push projects to be either free-as-in-freedom or proprietary.

                                  Proprietary software is, by definition, software that is not free. So pushing projects to either be free or not to be free, to either not be proprietary or be proprietary, is doing nothing. Every project is either proprietary or not, just like every project either includes Java or doesn’t, and every project either is lead by one person or isn’t lead by one person.

                                  Given the pains of sustainable infrastructure development using OSI-approved licenses, I fear that this will ultimately drive projects that would rather be licensed under the Commons Clause (i.e. as permissive as possible) into becoming closed source and proprietary.

                                  There are no pains. Free software has existed for decades, and will continue to exist for decades to come. It works fine as a model, as it is. Sell support. Sell proprietary licenses. Or don’t sell anything, and get a job doing something else. The world doesn’t owe you a paycheque.

                                  How can we best address the need for sustainable open source development?

                                  For a start, you need to stop misleading people and muddying the waters. You need to come up with your own terminology that is not misleading, or adopt the existing terminology (‘source available’). Until you have done so, you are actively harming the software industry and software community.

                                  @SirCmpwn, I would love to hear your thoughts on a better way to enable sustainable development for open source infrastructure.

                                  I’m not SirCmpwn, but my thoughts are thus: it’s fine as it is.

                                1. 8

                                  I’ve thought about doing a transparency report like this for myself. It’d be great to see a trend in truly open salaries. the taboo against knowing other peoples’ incomes keeps people from knowing what they’re truly worth and what to ask for.

                                  1. 4

                                    My current employer (Cigna) gives an annual packet to employees that lists out

                                    • base pay
                                    • bonus (cash and/or stock)
                                    • how much I spent on Medical/Dental/Life Insurance/Social Security, contributed to 401k
                                    • how much they spent on Medical/Dental/Life Insurance/Social Security, contributed to 401k
                                    • Retirement plan projections

                                    Just an awesome amount of detail.

                                    1. 2

                                      It’d be great to see a trend in truly open salaries

                                      True. What would also be interesting (and maybe connected to what you wrote) to see is just transitions that others have made. A common question I see coming up every now and then is “where is my career going”.

                                    1. 8

                                      First of all, JIRA doesn’t lie or tell the truth. It just is. Points don’t tell you value, they tell you an estimate of complexity. Using points as a relative measure between engineers doesn’t lead to good things, which it sounds like you’re already seeing. I’ve got a bunch of questions like “are you the one estimating the points, or is your team” and stuff like that, but I’ll skip it for now.

                                      The thing that made me move fastest was creating giant blocks of “CODE” on my calendar. I don’t mean meetings though they occupy the same space. There’s just a huge, multi-hour chunk of time where I’m by myself writing code.

                                      Generally speaking this is really hard to achieve at my current job. Now that I’m a team lead, everyfriggenbody wants to have a “quick” 30 minute or 1 hour meeting, but I can ensure my team members are - whenever possible - spending like 4 or 5 hours a day writing code uninterrupted by anyone. If they need to reset their brains by grabbing a coffee or taking a break to chat around the water cooler for half an hour, no biggie, but if they’re in the zone? They need to be left alone.

                                      I would also look at what the other engineers are doing. Look at their commit history: see the changes they made for their story. How did it evolve? What did they have to do to get there?