This Week in Programming: The Harsh Reality of an Open Source Pivot
This week, the team behind Sourcetrail, a tool for more easily exploring and understanding new codebases, decided to give up the commercially-viable ghost and offer the project freely as open-source to the masses. The decision comes from some simple truths that they could no longer deny, the biggest of which being that “it is a rather big disadvantage for a small company to sell a product where the supposed value is not immediately clear to each user.” As it turns out, while they thought they had a useful tool that all developers would want, its utility was not immediately apparent to all those they’d originally hoped would become customers. Moreso, they write, developers are used to free tooling.
“Lots of developer tools are free. And this is a great thing: It means that building software is not restricted by a pay-wall. And let’s be honest about this, it also means that we as software developers would rather evaluate and use a free alternative than a commercial tool.”
what clown called it a "major network outage" and not "Panic! At the Cisco"
— Nire Bryce (@NireBryce) November 15, 2019
The rest of the challenges they state — inability to scale, lack of language support, lack of support for common tools, and cross-platform compatibility — are bullet points that anyone who has previously shuttered a technical project may be all too familiar with. Instead of pivoting or charging more for licenses, as they say others had done, they decided to ditch the commercial license, go all out with the viral GNU General Public License, and hope that at least by getting rid of monetary and managerial reasons for developers to not use Sourcetrail, they might gain some meaningful adoption. The team’s decision to go open source reads like a case study for those wondering some of the benefits of open source software:
“If we eliminate commercial licensing, any developer can start using Sourcetrail without accepting terms, spending money or convincing management. Moreover, satisfied users may have less reservation to recommend Sourcetrail to other developers. It would allow everyone who has an issue preventing him or her from using Sourcetrail on the desired codebase to fix that issue. From past experience with our open-source code editor plugins, we know how great it is when people chime in randomly, suggesting improvements, discussing questions or even fixing issues. Usually, they have a different background than we do, so they have the expertise that we cannot provide.”
If only Codefresh’s $100M fund for open source actually included funding (rather than “software credits”) for open source projects, Sourcetrail might be good to go, but instead, the team writes that they hope to self-fund their continued work on the project through Patreon supporters. “The only thing that kept bothering us is that open-source projects in general have a tendency to decay if no one has the time to actively maintain them,” they write.
At the time of this writing, they’re up to $99 of the minimum $1,500 a month they hope to receive.
honestly if panic at the disco can fit short stories in song titles you can make descriptive commit messages
— moms against farmville (@freezydorito) November 21, 2019
This Week in Programming
- Facebook Teams Up with Microsoft on Visual Studio Code: We know how much you like Visual Studio Code, so you may get excited (or cringe) at the news that Facebook and Microsoft are partnering on remote development, with Facebook saying that it’s switching over to Visual Studio Code as the default development environment at Facebook. With that change, the company says it is also going to work with Microsoft to help enhance their remote development extensions to help provide “remote development at scale.” Apparently, the move has already begun long ago, with Visual Studio Code being widely used “in beta,” and now Facebook says that “Visual Studio Code is now an established part of Facebook’s development future.” Hopefully, that’s good news for your favorite IDE.
- Rust Starts Looking at GitHub Actions: While Rust may have just recently migrated to Azure Pipelines, the team now writes that it is evaluating GitHub Actions, with a postscript acknowledging that “we’re happy with Pipelines as a product, but both Microsoft and GitHub asked us to try GitHub Actions because it’s more closely integrated into the GitHub workflow that we already use.” There’s not really a competition when Microsoft owns it all, after all. Rust is looking at GitHub Actions to replace Azure Pipelines as the CI provider of the rust-lang/rust repository and has been a part of the beta of GitHub Actions since it was first announced. Why? Basically, it hooks up really well with GitHub, where it stores all its code. So far, the team writes, they have “achieved 60% faster builds in preliminary testing thanks to the increased core count in the dedicated builder pool, and there is still large room to parallelize and finish builds even faster.”
It is going to be easy, they said pic.twitter.com/0VxHy1MPbN
— memenetes (@memenetes) November 17, 2019
- Go Be Heard, Gophers! It’s time to make your opinions known (not that you don’t already) by filling out the 2019 Go developer survey, which is fresh and ready for your taking until Dec. 15. So, if you have thoughts on your favorite backend language (we know, you do) make sure to get on over and fill out the 2019 Go Developer Survey. The Go team writes that previous surveys (of which there are three) have “played an enormous role in driving changes to our language, ecosystem, and community, including the gopls language server, new error-handling mechanics, the module mirror, and so much more” so don’t be left behind. And if you’re interested, here are each year’s results from the previous three years’ surveys.
- Microsoft Brings Confidential Computing to AKS: For those of you developing on Microsoft’s Azure Kubernetes Service, you can now take advantage of the company’s newly offered confidential computing on Kubernetes, which protects data even when the code is running, not just when the data is at rest. To use the feature, you just need to create a Kubernetes cluster on hardware that supports Intel SGX, such as the DC-series virtual machines running Ubuntu 16.04 or Ubuntu 18.04 and install the confidential computing device plugin into those virtual machines. The news follows the recent launch of the Confidential Computing Consortium under the Linux Foundation and now makes that functionality easy to apply with Kubernetes with Azure.
- All Things Kotlin: There are a few updates in the world of Kotlin, the now first-class language for Android development, this week, including the release of Kotlin 1.3.60, a few details on what’s coming for Kotlin 1.4, and a new course for learning advanced app development skills put together by Google and Udacity. JaxEnter offers a summary of what’s new with Kotlin 1.3.60, focusing partly on the fact that Kotlin is a preferred and increasingly adopted language over Java for Android app development. Accordingly, they write that “the new default converter makes converting to Kotlin even easier. 1.3.60 fixes some previous conversion issues, including corner-case issues.” For the details on other new features, check out the article, but know it’s a minor release, so nothing too major. As for Kotlin 1.4, NPE assertions, allowing “break” and “continue” inside “when”, and fixes and changes for tail-recursive functions are some things to look forward to. PacktPub, meanwhile, notes that Kotlin 1.3.60 offers Kotlin Worksheets and support for the new Kotlin/Native targets and other updates, alongside IntelliJ IDEA and Kotlin Eclipse IDE plugin updates.
They told me I could say anything I wanted #servicemeshcon19 pic.twitter.com/luVZBGWznj
— William Morgan (@wm) November 18, 2019
Feature image by enriquelopezgarre from Pixabay.