Sun, 17 January 2021
We discuss all things open-source, leaving Michael and Joe to hold down the fort while Allen is away, while Joe’s impersonations are spot on and Michael is on a first name basis, assuming he can pronounce it. This episode of the Coding Blocks podcast is about the people and organizations behind open-source software. We talk about the different incentives behind projects, and their governance to see if we can understand our ecosystem better. This episode’s show notes can be found at https://www.codingblocks.net/episode150, if you’re reading this via your podcast player. Sponsors - Datadog – Sign up today for a free 14 day trial and get a free Datadog t-shirt after your first dashboard.
- Linode – Sign up for $100 in free credit and simplify your infrastructure with Linode’s Linux virtual machines.
Survey Says News - We appreciate the new reviews, thank you!
- iTunes: @k_roll242, code turtle
Upcoming Events: You Thought You Knew OSS Q: What do most developers think about when they think of “open-source” software? Q: Is the formal definition more important than the general perception? Formal Definitions of Open-Source - opensource.org: Open source software is made by many people and distributed under an OSD-compliant license which grants all the rights to use, study, change, and share the software in modified and unmodified form. Software freedom is essential to enabling community development of open source software.
- opensource.com: Open source commonly refers to software that uses an open development process and is licensed to include the source code
Pop Quiz, who created…? - C: Dennis Ritchie
- Linux: Linus Torvolds
- Curl: Daniel Sternberg
- Python: Guido von Rossum
- JavaScript: Brandon Eich (Netscape)
- Node: Ryan Dahl
- Java: James Gosling (Sun)
- Git: Linus Torvalds
- C#: Microsoft (Anders Hejlsberg)
- Kubernetes: Google
- Postgres: Michael Stonebraker
- React: Facebook
- Rust: Mozilla
- Chromium: Google
- Flutter: Google
- TypeScript: Microsoft
- Vue: Evan You
Q: It seems like most newer projects (with the exception of Vue) are associated with corporations or foundations. When and why did that change? GitHub Star Distribution Q: What are the most popular projects? Who were they made for, and why? Who uses open-source software? - There are a lot of stats and surveys…none great
- All surveys and stats agree that open-source is on the rise
- You kinda can’t not use open-source software. Your OS, tools, networking hardware, etc all use copious amounts of open-souce software.
Individuals - Many (most) smaller libraries are written and maintained by individual authors, and have few or no contributors
- Some large / important libraries have thousands of contributors
- 10 most contributed GitHub projects in 2019
- VS Code has almost 20k contributors
- Flutter has 13k contributors
- Kubernetes and Ansible have around 7k
Q: Why do individuals create open source? What do they get out of it? Corporations - A lot of corporate “open source” that are utilities or tools for working with those companies (ie: Azure SDK)
- Many open source projects are stewarded by a single company (Confluent, Elastic, MongoDB)
- Many open source projects listed below are now run by a foundation
Let’s look at some of the most prominent projects that were started by corporations. Note: many of these projects came in through acquisitions, and many have since been donated to foundations. Microsoft Google - Kubernetes, Angular, Chromium, Android, Go, Dart, Protobuff, TensorFlow, Flutter, Skaffold, Spinnaker, Polymer, Yeoman
- https://opensource.google/projects/explore/featured
Facebook Amazon - Well, lots of toolkits and sdks for AWS…
Oracle Focused Corporations Sometimes a company will either outright own, or otherwise build a business centered around a technology. These companies will typically offer services and support around open-source projects. - DataStax
- Elasticsearch
- Canonical
- MongoDB
Q: Why do corporations publish open-source software? What do they get out of releasing projects? Foundations - Foundations are organizations that own open-source projects
- Foundations have many different kinds of governance models, but generally they are responsible for things like…
- code stewardship (pull requests, versions, planning, contributors, lifecycle, support, certification*)
- financial support (domains, hosting, marketing, grants)
- legal issues (including protecting the contributors liability)
- Most big open-source projects you can think of run under some sort of foundation
- Typically they are funded by large corporate backers
- There are a ton of foundations here. including many “one-offs”: https://opensource.com/resources/organizations ** WordPress Foundation, Python Foundation, Mozilla foundations
- Foundations are run in a variety of ways, and for different reasons, some even offer many competing projects
- https://opensource.guide/leadership-and-governance/ ** BDFL – Python, small projects, one person has final say ** “Meritocracy” (not a great term) – Active contributors are given decision making power, voting ** Liberal Contribution: Projects seek concensus rather than a pure vote, strive to be inclusive (Node, Rust)
Apache (1999) - Governance: https://www.apache.org/foundation/governance/
- Org Chart: https://www.apache.org/foundation/governance/orgchart
- https://projects.apache.org/
- Non-Profit Company, mostly Java, tons of libraries, data
- All volunteer board, 350+ projects
- Projects
- HTTPD, Kafka, Spark, Flink, Groovy, Avro, Log4…, Maven, ActiveMQ, Lucene, Solr,
Cloud Native Computing Foundation - Kubernetes, Helm, Prometheus, FluentD, Linkerd, OpenTracing
- A whole bunch of others that start with a K
Linux Foundation - Linux Kernel
- Kubernetes..? Ah, they’re over CNCF, and many, many, many other things
- Let’s Encrypt, NodeJS (through the OpenJs Foundation)
Q: Why do corporations donate projects, why do individuals? Who really owns open-source code? Resources We Like Tip of the Week
Direct download: coding-blocks-episode-150.mp3
Category: Software Development
-- posted at: 9:55pm EST
|
Sun, 3 January 2021
We start off the year discussing our favorite developer tools of 2020, as Joe starts his traditions early, Allen is sly about his résumé updates, and Michael lives to stream. For those that read the show notes via their podcast player and find themselves wondering where they can find these show notes on their computer, the answer is simple: https://www.codingblocks.net/episode149. Check it out and join the discussion. Sponsors - Datadog – Sign up today for a free 14 day trial and get a free Datadog t-shirt after your first dashboard.
Survey Says Take the survey at: https://www.codingblocks.net/episode149. News - Thank you for the new reviews we received this holiday!
- iTunes: larsankile, 0xACE, Tbetcha33, The_Shrike_, shineycloud
- Watch Joe speak at the virtual San Diego Elastic Meetup, Tuesday, January 19, 2021 at 5:00 PM PST, where he is talking about Easy Local Development with Elastic Cloud on Kubernetes using Skaffold.
- Join our game jam January 21 – 24, 2021 and let’s make games!
The Top Tools of 2020 - K9s – A terminal UI to interact with your Kubernetes cluster.
- Popeye – A utility that scans a live Kubernetes cluster and reports potential issues with deployed resources and configurations.
- All things JetBrains, especially IntelliJ IDEA, PyCharm, and DataGrip. Amazing, cross-platform tools that developers from all tech stacks can use.
- Skaffold – Handles the workflow for building, pushing, and deploying your application within Kubernetes, allowing you to focus on writing your code.
- Kustomize – A template-free way to customize Kubernetes application configuration, built into
kubectl . - Oh My Zsh – An open source, community-driven framework for managing your zsh configuration.
- Netlify – Unites everything teams need to build and run dynamic web experiences, from preview to production, using an intuitive git-based workflow and a powerful serverless platform.
- Jira StopWatch – A desktop tool for recording time spent on different Jira issues.
- Lens – The Kubernetes IDE, Lens provides full situational awareness for everything that runs in Kubernetes, lowering the barrier of entry for those just getting started with Kubernetes, while radically improving productivity for the experienced users.
- Zoom – Keeping you connected wherever you are. Hands down, the best video calling software out there for screen sharing; you can actually read the other person’s screen!
- Prometheus – Power your metrics and alerting with a leading open-source monitoring solution.
- Grafana – The world’s most popular technology used to compose observability dashboards.
- Visual Studio Code – Code editing, redefined. Free and built on open source. Runs everywhere.
- Favorite VS Code extensions:
- Bracket Pair Colorizer – Matching brackets can be easily identified in color.
- GitLens – Supercharges the Git capabilities built into Visual Studio Code.
- Rainbow CSV – Highlight CSV files and run SQL-like queries.
- Cmder – A software package created out of pure frustration over the absence of nice console emulators on Windows.
- Unraid – Take control of your data, media, applications, and desktops, using just about any combination of hardware.
Resources We Like - Streaming: Debugging C# in Kubernetes and Skaffold vs Kustomize (YouTube)
Tip of the Week - Challenging projects every programmer should try (utk.edu)
- More challenging projects every programmer should try (utk.edu)
- Duck DNS – A free dynamic DNS hosted on AWS (duckdns.org)
- Honorable DNS mentions:
- 8.8.8.8/8.8.4.4 – Google Public DNS (Wikipedia)
- 9.9.9.9/9.9.9.10/9.9.9.11 – Quad9 (Wikipedia)
- 1.1.1.1/1.1.1.2/1.1.1.3 – Cloudflare’s DNS (Wikipedia)
- MIT’s Missing Semester of CS Education:
- The Missing Semester of Your CS Education (mit.edu)
- Missing Semester IAP 2020 (YouTube)
- 2020 Lectures (mit.edu)
Direct download: coding-blocks-episode-149.mp3
Category: Software Development
-- posted at: 8:01pm EST
|