Wrapping up work some afternoon last November, I waltzed into the living room and found myself in the middle of one of those conversations where you weren’t actually necessary for the first half. “It will be great for you to train for ALC too!” She continued to talk excitedly about how we wouldn’t pay for the spin studio anymore, how convenient it will be, and how it would really be a good Christmas present. She showed me the price and I hummed to myself, giving the appearance of stern but deliberate thought “yeah, we’ll see.” Having already started to price out more cycling equipment, I didn’t want to give up the gag just yet.
Jenkins is a large open source project. Well over two thousand repositories, almost two thousand committers, four or five GitHub Organizations, and many thousands of opened, in progress, and closed issues. Part of the reason we’re called Jenkins is because of GitHub and yet many of our repositories do not use GitHub Issues. We eschew GitHub Issues in favor of Jira for a number of reasons, perhaps most importantly is that GitHub Issues are incredibly difficult to scale across repositories and teams. What might be considered a shining example of scaling GitHub Issues would be the Kubernetes ecosystem which has concocted a rather complex workflow using automated bots, labels, and comments on Issues. As such, it’s not impossible, but vanilla out-of-the-box GitHub Issues are tricky to grow with large free and open source projects.
Before moving to San Francisco an older friend had given me the name, which I carried as the title on my first business card: “Angry Young Man.” I had a tendency to practice “anger-driven development” wherein I would stay up late hacking away, determined to make something less shitty. I don’t think I have ever truly been an angry person, so let’s call it “playful cynicism.” I used this energy to develop two characters on Twitter through which I could vent my frustrations and make jokes about day-to-day stupidity in the tech industry. The most popular character and certainly my favorite: sadserver and its relative which I added later on sadoperator, are as of today effectively retired.
What an interesting year it has been in the world of free and open source software! Adoption is through the roof and the age old question of “how should we fund this” has come back to the forefront. This year a number of companies have introduced non-open source licenses, sometimes referred to as “source available” licenses. To date I have not seen a single major open source project change licenses. Funded companies which have built ancillary tools and projects around some major open source projects have switched to these curiously un-open licenses. The big heartburn seems to stem from larger service providers taking open source software, turning it into a product-as-a-service, and making money off of that service. All of which is perfectly valid for the use of open source software. The subject of licenses is not one I wish to discuss in this blog post, but rather something which enables these sorts of license shenanigans: the contributor license agreement.
I learned this
morning that a good man by the name of Jacob Sparre
passed away over the weekend. While Jacob (sparre) is not the first person
I know of to have died in the open source community, he is the
first I interacted with on some frequency. A constant presence in the Ada developer
community, most often I would chat with him in
#ada on the Freenode network
but we would also see each other once a year at FOSDEM.
For the last little while I have been hosting this blog on GitHub Pages,
generated using Jekyll. All that is well and good except
GitHub Pages doesn’t properly support the
jekyll-tagging plugin. Therefore
tags on this site have been broken since the migration, until I found ]this
blog post](http://longqian.me/2017/02/09/github-jekyll-tag/) by Long
One of the little applications which I built earlier this year ended up more useful than I originally anticipated. Useful enough to have hit its first performance bottleneck! Performance problems I generally grumble “nice problem to have” which profiling and refactoring, but in this case I know what the performance problem was, but lacked the appropriate solution.
With a clean air and a good bit of weather out in the big blue room, I decided to take advantage of the opportunity and continue some of my AIDS/LifeCycle training outdoors for a change. If you have never been to Sonoma county, you may not be familiar with some of its absolutely fabulous hills, valleys, and vistas. This past weekend I joined the numerous cyclists out there charging about on our beautiful county roads.
In the development of service-oriented applications we often will use the
phrase “source of truth” when referring to data and its ownership. The
expectation being that there is generally a single source of truth in the
system. Take DNS for example, we generally trust that a nameserver somewhere
out there is acting as the single source of truth for a single domain, such as
brokenco.de. Without this guarantee, much of our experience on the internet
would break down. For the software we write, increasingly GitHub has become the
source of truth for the source code itself. So much so that systems have been
built on top of GitHub which further wed the software ecosystem to a single
source of truth, such as Golang’s dependency definition conventions.
We have finally arrived at that most special day on the calendar, one I am sure you have been eagerly waiting for: Tyler Day!. This year’s Tyler Day is not much different than in years past, it has fallen on a Tuesday. It always seems to be a Tuesday. Festivities in the Northern Hemisphere are met, as per usual, with the cold transition from autumn to winter. And to most in the United States, Tyler Day is that last reminder to go to the grocery store to prepare for Thanksgiving.