Go: From Godep To vgo, A Commentated History

"Those who don't know history are doomed to repeat it." ― Edmund Burke

There are many variations on this saying but the essential element is that it's important, and I would argue useful, to know the history of something. It can provide depth, understanding, and insight.

At the moment there are many debates going on about package management in Go. There are questions being asked, such as how should it work or whose ideas should we follow?

To give context to these ideas it's worth looking at the history of dependency management in Go. It's a story of people, discovery, differences, disconnects, and even a little drama.

Continue Reading »


Go vgo: Semantic Versioning and Human Error

Note, a second post with some additional detail is available in a post titled "Go vgo: A Broken Dependency Tree".

In Sam Boyer's introduction to his analysis of vgo he touched on a number of practical, day in and day out, issues that can arise from using MVS. MVS, an acronym for Minimal Version Selection, is a new algorithm for solving a dependency tree. You can read more about it in Russ Cox's series.

MVS is a new algorithm not found in other programming language package managers making it, in my opinion, something worth analysis and discussion. We should understand what we're getting ourselves into, warts and all, because it's different than we're used to.

In Sam's analysis he noted a case that goes like this:

“Our project depends on [email protected] right now, but it doesn’t work with [email protected] or newer. We want to be good citizens and adapt, but we just don’t have the bandwidth right now.”

I wanted to share a real world example where this happened.

Continue Reading »


Problems Blocking Rise of Open Web

I've recently read numerous articles about bringing people back to the open web or about finding ways to grow it. This is a worthy challenge that can enable a more competitive landscape while distributing more of, well, everything.

There are three important problems that need to be solved to make the open web more successful. These three important problems that aren't getting enough attention.

Continue Reading »


Kubernetes: Take The Apps Survey

When it comes to applications, the last few years has been incredibly busy for Kubernetes. Here are a few things to illustrate what's been happening:

  1. The Workload APIs (e.g., Deployments) were incepted and have gone all the way to general availability.
  2. Helm has gone from an idea, through a version 1, through a merger with deploymented manager to produce a version 2, and is now starting work on version 3.
  3. Docker Composer was created and proved to be popular enough a tool was created to migrate from Docker Composer configuration to Kubernetes configuration. That tool is Kompose.
  4. The ecosystem is starting to explode with tools from Telepresence to Gitkube to ksonnet to more than I can name here.

With so much that's happened and so much going on, both in the Kubernetes project and in the ecosystem, it's useful to step back and take stock. This is a chance for the community working on tools to make sure we're listening to the people who use them.

To do that we have created the Kubernetes Application Survey. If deal with applications in or for Kubernetes we ask that you take a few minutes and let us know what you think. It will help those working on tools build what comes next.

Continue Reading »


Other Recent Posts: