add post about hashicorp license change
change markdown engine
This commit is contained in:
parent
f6773e3685
commit
9291d43f4c
7 changed files with 61 additions and 5 deletions
|
@ -22,6 +22,7 @@ group :jekyll_plugins do
|
||||||
gem 'jekyll-sitemap', '~> 1.4'
|
gem 'jekyll-sitemap', '~> 1.4'
|
||||||
gem 'jekyll-compose', '~> 0.12.0'
|
gem 'jekyll-compose', '~> 0.12.0'
|
||||||
gem 'jekyll-postfiles', '~> 3.1'
|
gem 'jekyll-postfiles', '~> 3.1'
|
||||||
|
gem 'jekyll-commonmark-ghpages'
|
||||||
end
|
end
|
||||||
|
|
||||||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||||
|
|
|
@ -4,6 +4,8 @@ GEM
|
||||||
addressable (2.8.1)
|
addressable (2.8.1)
|
||||||
public_suffix (>= 2.0.2, < 6.0)
|
public_suffix (>= 2.0.2, < 6.0)
|
||||||
colorator (1.1.0)
|
colorator (1.1.0)
|
||||||
|
commonmarker (0.17.13)
|
||||||
|
ruby-enum (~> 0.5)
|
||||||
concurrent-ruby (1.2.0)
|
concurrent-ruby (1.2.0)
|
||||||
em-websocket (0.5.3)
|
em-websocket (0.5.3)
|
||||||
eventmachine (>= 0.12.9)
|
eventmachine (>= 0.12.9)
|
||||||
|
@ -29,6 +31,13 @@ GEM
|
||||||
rouge (~> 3.0)
|
rouge (~> 3.0)
|
||||||
safe_yaml (~> 1.0)
|
safe_yaml (~> 1.0)
|
||||||
terminal-table (~> 1.8)
|
terminal-table (~> 1.8)
|
||||||
|
jekyll-commonmark (1.3.1)
|
||||||
|
commonmarker (~> 0.14)
|
||||||
|
jekyll (>= 3.7, < 5.0)
|
||||||
|
jekyll-commonmark-ghpages (0.1.6)
|
||||||
|
commonmarker (~> 0.17.6)
|
||||||
|
jekyll-commonmark (~> 1.2)
|
||||||
|
rouge (>= 2.0, < 4.0)
|
||||||
jekyll-compose (0.12.0)
|
jekyll-compose (0.12.0)
|
||||||
jekyll (>= 3.7, < 5.0)
|
jekyll (>= 3.7, < 5.0)
|
||||||
jekyll-feed (0.17.0)
|
jekyll-feed (0.17.0)
|
||||||
|
@ -58,6 +67,8 @@ GEM
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
rexml (3.2.5)
|
rexml (3.2.5)
|
||||||
rouge (3.30.0)
|
rouge (3.30.0)
|
||||||
|
ruby-enum (0.9.0)
|
||||||
|
i18n
|
||||||
safe_yaml (1.0.5)
|
safe_yaml (1.0.5)
|
||||||
sassc (2.4.0)
|
sassc (2.4.0)
|
||||||
ffi (~> 1.9)
|
ffi (~> 1.9)
|
||||||
|
@ -71,6 +82,7 @@ PLATFORMS
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
jekyll (~> 4.1.0)
|
jekyll (~> 4.1.0)
|
||||||
|
jekyll-commonmark-ghpages
|
||||||
jekyll-compose (~> 0.12.0)
|
jekyll-compose (~> 0.12.0)
|
||||||
jekyll-feed (~> 0.13)
|
jekyll-feed (~> 0.13)
|
||||||
jekyll-postfiles (~> 3.1)
|
jekyll-postfiles (~> 3.1)
|
||||||
|
|
|
@ -20,7 +20,7 @@ collections:
|
||||||
posts:
|
posts:
|
||||||
output: true
|
output: true
|
||||||
|
|
||||||
markdown: kramdown
|
markdown: CommonMarkGhPages
|
||||||
highlighter: rouge
|
highlighter: rouge
|
||||||
kramdown:
|
kramdown:
|
||||||
syntax_highlighter: rouge
|
syntax_highlighter: rouge
|
||||||
|
@ -69,3 +69,8 @@ plugins:
|
||||||
- jekyll-feed
|
- jekyll-feed
|
||||||
- jekyll-sitemap
|
- jekyll-sitemap
|
||||||
- jekyll-postfiles
|
- jekyll-postfiles
|
||||||
|
- jekyll-commonmark-ghpages
|
||||||
|
|
||||||
|
commonmark:
|
||||||
|
options: ["SMART", "FOOTNOTES"]
|
||||||
|
extensions: ["strikethrough", "autolink", "table", "tagfilter"]
|
||||||
|
|
|
@ -22,7 +22,7 @@ The problem is that `Mem.used` and `Mem.free` do not accurately reflect the mach
|
||||||
This is because these metrics include caches and buffers, which can be reclaimed by other processes if needed.
|
This is because these metrics include caches and buffers, which can be reclaimed by other processes if needed.
|
||||||
Most tools reporting memory usage therefore include an additional metric that specifices the memory _available_ on the system.
|
Most tools reporting memory usage therefore include an additional metric that specifices the memory _available_ on the system.
|
||||||
For example, the command `free -m` reports the following data on my laptop:
|
For example, the command `free -m` reports the following data on my laptop:
|
||||||
```
|
```text
|
||||||
total used free shared buff/cache available
|
total used free shared buff/cache available
|
||||||
Mem: 15864 3728 7334 518 5647 12136
|
Mem: 15864 3728 7334 518 5647 12136
|
||||||
Swap: 2383 663 1720
|
Swap: 2383 663 1720
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: Hashicorp's License Change and my Home Lab
|
||||||
|
date: 2023-08-17 18:15:00 Europe/Amsterdam
|
||||||
|
categories: hashicorp terraform vault nomad
|
||||||
|
---
|
||||||
|
|
||||||
|
Already a week ago, Hashicorp [announced](https://www.hashicorp.com/blog/hashicorp-adopts-business-source-license) it would change the license on almost all its projects.
|
||||||
|
Unlike [their previous license](https://github.com/hashicorp/terraform/commit/ab411a1952f5b28e6c4bd73071194761da36a83f), which was the Mozilla Public License 2.0, their new license is no longer truly open source.
|
||||||
|
It is called the Business Source License™ and restricts use of their software for competitors.
|
||||||
|
In their own words:
|
||||||
|
> Vendors who provide competitive services built on our community products will no longer be able to incorporate future releases, bug fixes, or security patches contributed to our products.
|
||||||
|
|
||||||
|
I found [a great article](https://meshedinsights.com/2021/02/02/rights-ratchet/) by MeshedInsights that names this behaviour the "rights ratchet model".
|
||||||
|
They define a script start-ups use to garner the interest of open source enthusiasts but eventually turn their back on them for profit.
|
||||||
|
The reason why Hashicorp can do this, is because contributors signed a copyright license agreement (CLA).
|
||||||
|
This agreement transfers the copyright of contributors' code to Hashicorp, allowing them to change the license if they want to.
|
||||||
|
|
||||||
|
I find this action really regrettable because I like their products.
|
||||||
|
This sort of action was also why I wanted to avoid using an Elastic stack, which also had their [license changed](https://www.elastic.co/pricing/faq/licensing).[^elastic]
|
||||||
|
These companies do not respect their contributors and the software stack beneath they built their product on, which is actually open source (Golang, Linux, etc.).
|
||||||
|
|
||||||
|
# Impact on my Home Lab
|
||||||
|
|
||||||
|
I am using Terraform in my home lab to manage several important things:
|
||||||
|
- Libvirt virtual machines
|
||||||
|
- PowerDNS records
|
||||||
|
- Elasticsearch configuration
|
||||||
|
|
||||||
|
With Hashicorp's anti open source move, I intend to move away from Terraform in the future.
|
||||||
|
While I will not use Hashicorp's products for new personal projects, I will leave my current setup as-is for some time because there is no real need to quickly migrate.
|
||||||
|
|
||||||
|
I might also investigate some of Terraform's competitors, like Pulumi.
|
||||||
|
Hopefully there is a project that respects open source which I can use in the future.
|
||||||
|
|
||||||
|
# Footnotes
|
||||||
|
|
||||||
|
[^elastic]: While I am still using Elasticsearch, I don't use the rest of the Elastic stack in order to prevent a vendor lock-in.
|
|
@ -6,14 +6,14 @@ categories: ssh terraform ansible
|
||||||
---
|
---
|
||||||
|
|
||||||
Ever SSH'ed into a freshly installed server and gotten the following annoying message?
|
Ever SSH'ed into a freshly installed server and gotten the following annoying message?
|
||||||
```
|
```text
|
||||||
The authenticity of host 'host.tld (1.2.3.4)' can't be established.
|
The authenticity of host 'host.tld (1.2.3.4)' can't be established.
|
||||||
ED25519 key fingerprint is SHA256:eUXGdm1YdsMAS7vkdx6dOJdOGHdem5gQp4tadCfdLB8.
|
ED25519 key fingerprint is SHA256:eUXGdm1YdsMAS7vkdx6dOJdOGHdem5gQp4tadCfdLB8.
|
||||||
Are you sure you want to continue connecting (yes/no)?
|
Are you sure you want to continue connecting (yes/no)?
|
||||||
```
|
```
|
||||||
|
|
||||||
Or even more annoying:
|
Or even more annoying:
|
||||||
```
|
```text
|
||||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
|
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
|
||||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
|
|
@ -30,7 +30,7 @@ Under the hood, virtio-9p uses the 9pnet protocol.
|
||||||
Originally developed at Bell Labs, support for this is available in all modern Linux kernels.
|
Originally developed at Bell Labs, support for this is available in all modern Linux kernels.
|
||||||
If you share a directory with a VM, you can then mount it.
|
If you share a directory with a VM, you can then mount it.
|
||||||
Below is an extract of my `/etc/fstab` to automatically mount the directory:
|
Below is an extract of my `/etc/fstab` to automatically mount the directory:
|
||||||
```
|
```text
|
||||||
data /mnt/data 9p trans=virtio,rw 0 0
|
data /mnt/data 9p trans=virtio,rw 0 0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Reference in a new issue