TODO or not TODO
Kubernetes is a massive open source undertaking, with more than 86K commits, 2.4K contributors, and 5.2M total lines of code.
But how much of Kubernetes’ code is written to manage tasks for its developers?
The creators of tickgit, a tool to manage tickets and checklists within codebases, analyzed the Kubernetes codebase to learn more about how developers use comments and annotations to maintain their code.
So much TODO. The analysis reveals the challenges of juggling and tracking these marked tasks within code.
According to the analysis, there are currently 2,380 TODOs—more than the the number of open GitHub issues—across 1,230 files in the Kubernetes repository.
Most are orphans: only 19% of those TODOs had been assigned to a particular contributor.
Moreover, many TODOs are completely ignored or forgotten. The average age of existing TODOs in the Kubernetes codebase is 2.3 years, while the oldest TODO dates back to 2014.
Why does it matter? How developers manage their workflows is increasingly fractured across many different tools—like tickets, documentation, issue trackers, code comments, and more. Proliferating and abandoned TODOs are a symptom of the growing challenges in task management facing development teams.
As a result, there is a budding ecosystem of tools hoping to simplify these workflows.
Code editor plugins—like Todo Tree and Todo Highlight—can compile and surface TODOs in code. Documentation generators—like Swagger and JSDoc—create wikis from code comments. Automations can find and synchronize TODOs across teams or link discussions to specific blocks of code.
The future. The current state of the Kubernetes repository shows there is much more progress to be made. New tools, however, promise to give developers better context for their tasks and greater control over how they manage them.
Intercept and monetize: AWS’s strip mining strategy
AWS is under growing scrutiny after a recent spate of bad press around its alleged abuse of the open source community.
While AWS hit back at claims that it steals ideas and code from open source projects, a recent New York Times article highlighted the struggles of open source software creators who fear that the cloud giant is unfairly hijacking and reselling their projects.
Shots fired. Michael Howard, CEO of MariaDB, first claimed that "AWS’s success is built on strip mining open source technology."
Howard elaborated that AWS is abusing the licenses and privileges of open source without giving back to the community. He also claimed that AWS pushes its own proprietary services instead of open source alternatives.
A growing list of casualties. Many other companies believe that AWS simply repackages open source software.
Elasticsearch, a wildly successful open source search engine developed by Elastic, offers a cautionary tale. AWS copied Elastic’s product in 2015 and sold it as a paid service, even though the original software was already available on Amazon.
Redis Labs, too, was flattened by the Amazon steamroller. Redis employees estimate that Amazon generates up to $1B a year from open source Redis technology. That’s at least 10 times more revenue than Redis makes with its own technology.
When AWS repackages open source software, it layers on proprietary technology that is then not shared with the community. That locks customers into Amazon’s cloud and funnels profits back to AWS.
Amazon’s strategy focuses on monetization interception—reselling freely available open source software with slight modifications before its original creators can effectively monetize their product.
Why does this matter for developers? Businesses and developers that depend on open source software face many challenges that impact everyone from freelancers to large VC-backed organizations.
First, an unhealthy relationship between developers and big tech stymies developer investment in open source. Developers become more wary of making their work open to the community or contributing to certain projects.
Second, open source licensing becomes more complex. Successful open source projects will likely modify their licenses to limit usage. That shift is already underway: MongoDB recently updated its license to require any company that manages its software to freely share the underlying technology.
No end in sight. Developers and big tech have both benefited from a rich and flourishing open source ecosystem. Who benefits more will likely remain a point of contention for the foreseeable future.
- Google announced the release of Bazel 2.0. Bazel is an open source tool released by Google in 2015 to help developers automate the building and testing of software, with a focus on speed [BAZEL]
- Hour of Code, a service created by Code.org, surpassed 900M total lessons delivered to developers. Hour of Code provides one-hour computer science tutorials in over 45 languages to developers around the world. It's rapid growth over the last decade shows skyrocketing interest in software development [TWITTER]
- Sophos launched a security analysis tool for developers. Developers can assess the risk of files, IP addresses, URLs, and more through simple API calls. More tools aim to empower developers to implement better security standards [SOPHOS]
- Russia claims that it successfully disconnected itself from the global internet in a series of tests this week. National infrastructure is increasingly intertwined with security and trade as countries fear the open web [ZDNET]
- DockerPi gives you access to a virtualized ARM based Raspberry Pi machine running the Raspian operating system [GITHUB]
- Glow renders color-coded Markdown on the CLI [GITHUB]
- Gradienta creates open-source multi-layered CSS gradients with JPG downloads [GRADIENTA]
- Kutt is a free modern URL shortener with support for custom domains [KUTT]
- Scully is a static site generator for Angular [NETLIFY]
Every week, our team will send you three of the most important stories for developers, including our analysis of why they matter. Software development changes fast, but src is your secret weapon to stay up to date in the developer world.
Today global initiatives on AI are a series of regulatory and ethical gambles—a dangerous, potentially existential game.
Why the Xbox will be Azure’s unlikely hero.
Understanding churn rates can help developers be more productive and write quality code