OSS, Promotions, and Lava Lamps

How can promotion boards be hostile or hurtful to open source technology? We talk about the dynamics of corporate support in open source technology, and if being rewarded for internal work at companies translates into challenges for open source technology.

This discussion starts to peel apart what makes open source technology sustainable, and what it works for. We bring up an analogy of a lava lamp where things heat up and then cool down as part of a natural cycle, which can be a normal cycle for all software, and that led us back to how promotion boards work.

We covered a lot of ground through the dynamics of corporate software governance and open source and interweaving those together.

Transcript: otter.ai/u/nZS6rtcam88JUuqMctOiEyWq5G4
Image: www.pexels.com/photo/food-cold-d…nk-glass-5677999/

Rob’s Hot Take:

In the Cloud 2030 podcast on April 19th, Rob Hirschfeld discusses the challenges of sustaining open source projects and the dynamics of job review boards. The conversation highlights the common evolution of software projects, where initial excitement and rapid development give way to stabilization, increasing complexity, and less excitement. The key takeaway is the need to recognize and reward individuals contributing to the maintenance and extension of existing projects, emphasizing the importance of such work for communities, companies, and society. Join the discussion at the2030.cloud for diverse opinions and insights.

APIs With Composable State

What makes API’s complex? In this episode, we talk about how we compose APIs into higher level systems, and how we think about the design elements that go into building durable, reusable API’s.

This is a classic topic for us, and in this discussion we looked beyond the API itself and started talking about the state of the system and how you manage that state.

Transcript: otter.ai/u/Oae5e_ay0d_l48TmWk3PO3lpIDU
Image: www.pexels.com/photo/a-nacho-chi…ng-sauce-5848731/

Rob’s Hot Take:

In the Cloud 2030 podcast on April 21st, Rob Hirschfeld delves into the complexity of APIs, emphasizing the layered and nested nature of API systems. The discussion unveils the challenges of managing distributed state within APIs, where each layer needs to be aware of and interact with the state of adjacent or underlying APIs. The key insight is that without a well-understood distributed state model at the architectural level, building resilient APIs becomes inherently complex. Join the conversation at the2030.cloud for a comprehensive exploration of API design challenges and solutions.

Reliable License Models

We talk about software licensing in open source, and what it means to the broader market. In fact, we cover how it’s changing what the market actually is!

This is not not just open source licensing in general because at the end we didn’t care about the license. We are more concerned about utility, serviceability and operability of the products we use. We need to understand whether or not we can rely on them!

In short, the supply chain of the software was much more important than the licenses of the software

Transcript: otter.ai/u/kH-vbVxoymH9GGdNEi3jvF07c5s
Image: www.pexels.com/photo/gray-planes…om-window-127441/

Rob’s Hot Take:

Rob Hirschfeld, CEO and co-founder of RackN and host of the Cloud 2030 Podcast, reflects on the October 28th discussion about software licensing. He highlights the industry’s indifference towards software licensing as a critical battleground and questions the necessity of open source for good software, asserting that system support, maintenance, and trusted partners are more crucial. While acknowledging the importance of community goods like Kubernetes for creating abstraction layers, Hirschfeld emphasizes that the ultimate focus should be on the supply chain and invites listeners to explore the extended conversation at the2030.cloud.

Software Supply Chains [#Log4Shell]

Our scheduled topic was supply chains generally, but the Log4Shell vulnerability dominated the discussion. We dove into the challenge of patching and fixing a library that is literally in nearly every device or service for years and years.

That led us to supply chains in the context of software, and specifically Java Log4j. This is a critical topic and our conversation about it was very thoughtful. We really covered the angles of what it takes to produce and maintain a supply chain for software. Then we discussed alternatives and things to consider when you building anything: software products or physical products in which embedded systems and components impact your designs.

Transcript: otter.ai/u/CJ8pYF1La6tetFasqZhEojo_zoY
Image: www.pexels.com/photo/carton-cont…-in-rows-6294430/

Rob’s Hot Take:

Rob Hirschfeld, CEO and co-founder of RackN and host of the Cloud 2030 Podcast, reflects on the December 16th discussion centered around the supply chain, particularly focusing on Log4j and software components. He underscores the importance of understanding the provenance of software components and emphasizes the necessity of maintaining a robust patch and update process, especially considering embedded systems like Java. Hirschfeld advocates for a shift in mindset towards viewing software as an ongoing process rather than a static deliverable, inviting listeners to explore the insightful discussion further at the2030.cloud.

Hot Take: Software Right to Repair? Is that OSS?

Hello, I’m Rob Hirschfeld, CEO, co founder of RackN with a Hot Take from the July 13 DevOps Lunch and Learn conversation about the Right to Repair.

In this episode, we’re discussing how it could be possible for you, the consumer, to take products built and maintained by a company and maintain, change, own, and extend the product’s use past the life of the vendor of that product by getting fixes and repairs that the vendor doesn’t want to offer. Right now, the right to repair is essential from a consumer perspective, yet these rights seem to erode further every day. We are living in a society that doesn’t value the right to repair as a product feature, and we want to ignore that and get things that are easy to use and disposable.

As a consumer and as a company creating products, it makes me wonder if this narrative will switch. What will drive people to decide they want to control and to be able to repair, not just outsource, all of these components, assuming that they can quickly replace the device or patch system or get another service? I think we’ve been overlooking a lot of the complexity that’s building up in the ecosystems we have around these products, but this complexity is also the thing that makes them so hard to repair even if you had the right.

We have a lot to think about!

Please listen to the longer podcast where we talk about these issues and join us at the2030.Cloud.

Is Open Source Working?

Is open source driving innovation? And Is it a necessary component of Right to Repair and ownership? Are there commercial drivers where people want those open capabilities?

We transition into a deeper conversation about what’s going on with open source. Is it being innovative? Who is leading? How is it working?

Transcript: otter.ai/u/vto0yPpBuZtqngkc_zqMDp9J39M
Photo by Jeffrey Czum from Pexels [ID 4118958]

April 14 – Weekly Recap of All Things Site Reliability Engineering (SRE)

Welcome to the weekly post of the RackN blog recap of all things SRE. If you have any ideas for this recap or would like to include content please contact us at info@rackn.com or tweet Rob (@zehicle) or RackN (@rackngo). 

SRE Items of the Week

Continuous Discussions (#c9d9) Episode 66: Scaling Agile and DevOps in the Enterprise Watch Rob Hirschfeld in this Electric Cloud Podcast held on 4/11.

On the Continuous Discussions (#c9d9) podcast the discussion was on Scaling Agile and DevOps in the Enterprise.

  • What’s between scaling Agile and scaling DevOps?
  • What are some learnings and patterns for scaling Agile, that can be applied for starting and scaling a DevOps transformation in the enterprise?

Podcast Video Link: https://www.youtube.com/watch?v=uffUoX-O3g8
_____________

Rob Hirschfeld on Containers, Private Clouds, GIFEE, and the Remaining “Underlay Problem”
Rob Hirschfeld Q&A with Gene Kim on ITRevolution

INTRO
Back in October of 2016, I was at OpenStack Conference in Barcelona and ran into a long-time friend, Rob Hirschfeld. He surprised me by talking about a problem domain that we have had discussions about for years, reframing it as “the data center underlay problem.”

His provocative statement was that while OpenStack solves many problems, it didn’t address the fundamental challenges of how to run things like OpenStack on actual physical infrastructure. This is a problem domain that is being radically redefined by the container ecosystem.

This is a problem that Rob has been tirelessly working on for nearly a decade, and it was interesting to get his perspective on the emerging ecosystem, including OpenStack, Kubernetes, Mesos, containers, private clouds in general (which include Azure Stack), etc.  I thought it would be useful to share this with everyone.
_____________

Need PXE? Try out this Cobbler Replacement
Rob Hirschfeld Blog (https://robhirschfeld.com)

INTRO
We wanted to make open basic provisioning API-driven, secure, scalable and fast.  So we carved out the Provision & DHCP services as a stand alone unit from the larger open Digital Rebar project.  While this Golang service lacks orchestration, this complete service is part of Digital Rebar infrastructure and supports the discovery boot process, templating, security and extensive image library (Linux, ESX, Windows, … ) from the main project.

TL;DR: FIVE MINUTES TO REPLACE COBBLER?  YES.

The project APIs and CLIs are complete for all provisioning functions with good Swagger definitions and docs.  After all, it’s third generation capability from the Digital Rebar project.  The integrated UX is still evolving.
_____________

Open Source Collaboration: The Power of No & Interoperability
Christopher Ferris, IBM OpenTech

INTRO
It’s a common misconception that open source collaboration means saying YES to all ideas; however, the reality of successful projects is the opposite.

Permissive open source licenses drive a delicate balance for projects. On one hand, projects that adopt permissive licenses should be accepting of contributions to build community and user base. On the other, maintainers need to adopt a narrow focus to ensure project utility and simplicity. If the project’s maintainers are too permissive, the project bloats and wanders without a clear purpose. If they are too restrictive then the project fails to build community.

It is human nature to say yes to all collaborators, but that can frustrate core developers and users.

For that reason, stronger open source projects have a clear, focused, shared vision.  Historically, that vision was enforced by a benevolent dictator for life (BDFL); however, recent large projects have used a consensus of project elders to make the task more sustainable.  These roles serve a critical need: they say “no” to work that does not align with the project’s mission and vision.  The challenge of defining that vision can be a big one, but without a clear vision, it’s impossible for the community to sustain growth because new contributors can dilute the utility of projects.  [author’s note: This is especially true of celebrity projects like OpenStack or Kubernetes that attract “shared glory” contributors]
_____________

UPCOMING EVENTS
Rob Hirschfeld and Greg Althaus are preparing for a series of upcoming events where they are speaking or just attending. If you are interested in meeting with them at these events please email info@rackn.com.

DockerCon 2017 : April 17 – 20, 2017 in Austin, TX
DevOpsDays Austin : May 4-5, 2017 in Austin TX
OpenStack Summit : May 8 – 11, 2017 in Boston, MA  

  • OpenStack and Kubernetes. Combining the best of both worlds – Kubernetes Day  

Interop ITX : May 15 – 19, 2017 in Las Vegas, NV

Gluecon : May 24 – 25, 2017 in Denver, CO

  • Surviving Day 2 in Open Source Hybrid Automation – May 23, 2017 : Rob Hirschfeld and Greg Althaus

OTHER NEWSLETTERS

SRE Weekly (@SREWeekly)Issue #67

Open Source Collaboration: The Power of No

TL;DR: The days of using open software passively from vendors are past, users need to have a voice and opinion about project governance. This post is a joint effort with Rob Hirschfeld, RackN, and Chris Ferris, IBM, based on their IBM Interconnect 2017 “Open Cloud Architecture: Think You Can Out-Innovate the Best of the Rest?” presentation.

nullIt’s a common misconception that open source collaboration means saying YES to all ideas; however, the reality of successful projects is the opposite.

Permissive open source licenses drive a delicate balance for projects. On one hand, projects that adopt permissive licenses should be accepting of contributions to build community and user base. On the other, maintainers need to adopt a narrow focus to ensure project utility and simplicity. If the project’s maintainers are too permissive, the project bloats and wanders without a clear purpose. If they are too restrictive then the project fails to build community.

It is human nature to say yes to all collaborators, but that can frustrate core developers and users.

For that reason, stronger open source projects have a clear, focused, shared vision. Historically, that vision was enforced by a benevolent dictator for life (BDFL); however, recent large projects have used a consensus of project elders to make the task more sustainable. These roles serve a critical need: they say “no” to work that does not align with the project’s mission and vision. The challenge of defining that vision can be a big one, but without a clear vision, it’s impossible for the community to sustain growth because new contributors can dilute the utility of projects. [author’s note: This is especially true of celebrity projects like OpenStack or Kubernetes that attract “shared glory” contributors]

There is tremendous social and commercial pressure driving this vision vs. implementation balance.

The most critical one is the threat of “forking.” Forking is what happens when the code/collaborator base of a project splits into multiple factions and stops working together on a single deliverable. The result is incompatible products with a shared history. While small forks are required to support releases, and foster development; diverging community forks can have unpredictable impacts for a project.

Forks are not always bad: they provide a control mechanism for communities.

The fundamental nature of open source projects that adopt a permissive license is what allows forks to become the primary governance tool. The nature of permissive licenses allows anyone to create a new line of development that’s different than the original line. Forks can allow special interests in a code base to focus on their needs. That could be new features or simply stabilization. Many times, a major release version of a project evolves into forks where both old and newer versions have independent communities because of deployment inertia. It can also allow new leadership or governance without having to directly displace an entrenched “owner”.

But forking is expensive because it makes it harder for communities to collaborate.

To us, the antidote for forking is not simply vision but a strong focus on interoperability. Interoperability (or interop) means ensuring that different implementations remain compatible for users. A simplified example would be having automation that works on one OpenStack cloud also work on all the others without modification. Strong interop creates an ecosystem for a project by making users confident that their downstream efforts will not be disrupted by implementation variance or version changes.

Good Interop relieves the pressure of forking.

Interop can only work when a project defines what is expected behavior and creates tests that enforce those standards. That activity forces project contributors to agree on project priorities and scope. Projects that refuse to define interop expectations end up disrupting their user and collaborator base in frustrating ways that lead to forking (Rob’s commentary on the potential Docker fork of 2016).

nullUnfortunately, Interop is not a generally a developer priority.

In the end, interoperability is a user feature that competes with other features. Sadly, it is often seen as hurting feature development because new features must work to maintain existing interop standards. For that reason, new contributors may see interop demands as a impediment to forward progress; however, it’s a strong driver for user adoption and growth.

The challenge is that those users are typically more focused on their own implementation and less visible to the project leadership. Vendors have similar disincentives to do work that benefits other vendors in the community. These tensions will undermine the health of communities that do not have strong BDFL or Elders leadership. So, who then provides the adult supervision?

Ultimately, users must demand interop and provide commercial preference for vendors that invest in interop.

Open source has definitely had an enormous impact on the software industry; generally, a change for the better. But, that change comes at a cost – the need for involvement, not just of vendors and individual developers, but, ultimately it demands the participation of consumers/users.

Interop isn’t naturally a vendor priority because it levels the playing field for all vendors; however, vendors do prioritize what their customers want.

Ideally, customer needs translate into new features that have a broad base of consumer interest. Interop ensure that features can be used broadly. Thus interop is an important attribute to consumers not only for vendors, but by the open source communities building the software. This alignment then serves as the foundation upon which (increasingly) that vendor software is based.

Customers should be actively and publicly supportive of interop efforts of projects on which their vendor’s offerings depend. If there isn’t such an initiative in those projects, then they should demand one be started through their vendor partners and in the public forums for the project.

Further, if consumers of an open source project sense that it lacks a strong, focused, vision and is wandering off course, they need to get involved and say so, either directly and/or through their vendor partners.

While open source has changing the IT industry, it also has a cost. The days of using software passively from vendors are past, users need to have a voice and opinion. The need to ensure that their chosen vendors are also supporting the health of the community.

What do you think? Reach out to Rob (@zehicle) and Chris (@christo4ferris) and let us know!

Note: Cross posted on IBM OpenTech site.

Containers, Private Clouds, GIFEE, and the Underlay Problem

ITRevoluion

Gene Kim (@RealGeneKim) posted an exclusive Q&A with Rob Hirschfeld (@zehicle) today on IT Technology: Rob Hirschfeld on Containers, Private Clouds, GIFEE, and the Remaining “Underlay Problem.” 

Questions from the post:

  • Gene Kim: Tell me about the landscape of docker, OpenStack, Kubernetes, etc. How do they all relate, what’s changed, and who’s winning?
  • GK: I recently saw a tweet that I thought was super funny, saying something along the lines “friends don’t let friends build private clouds” — obviously, given all your involvement in the OpenStack community for so many years, I know you disagree with that statement. What is it that you think everyone should know about private clouds that tell the other side of the story?
  • GK: We talked about how much you loved the book Site Reliability Engineering: How Google Runs Production Systems by Betsy Beyer, which I also loved. What resonated with you, and how do you think it relates to how we do Ops work in the next decade?
  • GK: Tell me what about the work you did with Crowbar, and how that informs the work you’re currently doing with Digital Rebar?

Read the full Q&A here.