From d530adc17161e704e1eff1190115301c11df6a85 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Tue, 17 Sep 2024 11:25:16 +0800 Subject: [PATCH] Update --- QR.png | Bin 0 -> 56933 bytes custom.css | 24 +++ jiddu.jpg | Bin 0 -> 41215 bytes notes.md | 49 +++-- nus.html | 602 +++++++++++++++++++++++++++++++++++------------------ nus.md | 221 ++++++++++++++++++-- 6 files changed, 658 insertions(+), 238 deletions(-) create mode 100644 QR.png create mode 100644 custom.css create mode 100644 jiddu.jpg diff --git a/QR.png b/QR.png new file mode 100644 index 0000000000000000000000000000000000000000..7b598de69859a8ab627627b1abb089739fbd0fcc GIT binary patch literal 56933 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
`8Y5X#F9w?B2Oyll_I95Jf-wSO{uEt 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 GN&XvT%RxZ^ literal 0 HcmV?d00001 diff --git a/custom.css b/custom.css new file mode 100644 index 0000000..17ca1f1 --- /dev/null +++ b/custom.css @@ -0,0 +1,24 @@ +h1 { + text-align: center; +} + +div > p { + padding-left: 40px; +} + +div > ul { + padding-left: 53px; +} + +.centered { + p { + padding-left: 0px !important; + margin-left: 0px !important; + margin-right: 60px; + padding-right: 20px; + } + ul { + padding-left: 0px !important; + } + text-align: center; +} diff --git a/jiddu.jpg b/jiddu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fbf91928f76c03a60a7d56668b5b0220b9604c8f GIT binary patch literal 41215 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�P70}Q*87U6p?hvH zD*4TpdQ>WmyGof)YbG2lD#SgZ5967E6jArwQ8~J1A>0iTp)3w>_3r?(pt_)62R9wN zRdA}~73(cZT3Su@8tL9P%(%;t2Qr1|+r$+qvJ%|lZ5fK+n98!e$8O>Q0@%J~NCxor zP+bQDsESOAHirDx1}3nA+FRlk^Wf^2J_tf&v8<%AEE3Ib63`SIx2(aDgOxfHPy;3& z&rA4)_gg5Gk6M9XyDlhtbd@VWWiNdOWM>?I-^98ggTDH{Ac6&ht{~&8or!=sfHcIe zAauv2P8O;)qN{n7$^gw&6zJf!R0T-Wb9>xkQd%pRL-?%CN%tbc;Hbu{O1pJi{mfXP zQt})x&BO?Ug=?+EL>L32H%xBdVh{zbp))`^Rt#J4#pe!TL5C<@QlO3OKeu`lXv!(ORirTSD(Vbp zy;R#l7BEx+6}v-^9+H9;Q=MeQE6i%!57yu^OJitc$0A&I)iq@Z*K-4IT&!xCdvg18 zuUM?0Ta#n=`-RP>z&Jgl^E>E;)cyvsPxM^RNXp zS5t%5S9zoDFk+34%ep+&OMVj(zC&YSfZ@hvz$0|gcAQ@Q<)k;nKy2zaxYXfADPFS@ zqRYXje-jH0RQ!elG!rII?MC3WZp6ZXP`ujs^Zt<1BZ}6%LpV*?a#~~N2Cf5NXe|_{TK@o$ zwk5(`O%Dy=v2Fm={8-1tZdA{hCg#ap^$=<(z8BH}s+gc~Ggf!=E{2-3it*N6{bG_- z1L+-sSeo%r#;zu1j)n3U3bUUQkh+RJfcI`%P9WW)D_QzV08xUAdxyg@4cn{$cPvq% zvTvD-4Jcc~FWwOi0c*+Y=1}W8TIk0+^p>wHYaiz@MO$@NpS(p>qR0>0iB(mAi>qaLj5=)EQGT!?O>2YJ=h_nFy5WjzKCx5^+NjUd z5jlDotOpXvmgK=;FAfA0mbSSAal)`=JQAOiompwWNLY}xt~ECRAk}68Ax5_;QF=z^ zrK>6dRolw~uS{AP@;ij%vz3ROOSmk7FlXvOHk43>pB$f=zb7}=F~5km13(e~0JB@H z6%l)l;stJ{0#X?zBsh51rkh9J4VbEBhH&Z|vlFD(a-Dm_mTI_2euUsb zTI@4E#v*{fr52WKTSHtxSqE9vDu!`dqWaFGwxTFgysVZPXnyhV6=I<-2NguCAA1c% zgqWZqC_!y(nd0UHk&$RSNR6bh^YCHd=Q4n~Shq*D{9mk8-HaUb`GC;QmpSa}JMNtZ z@9!I$si$Oun53iNndN$nOI8&UtBG4zDXi*#rfSJ-7oSLQSBM0zW_l~bJ_>?NA?y6} z24&)<8$p$S5!U7FVANu$ez$L|FfJ|xw7)Uf0+uE^`HM>nGQ-OEDxg|qW?;m4(^o_`c1A&9~rGDfZZy#Bba!|2i zI0Q`(#`y8Y!Hv$5<>%AKh=2*a17aj9|Nt<~6V6mkRLLvoQlod4F?&Z4(fxRt z1=_KO4p^iEI^F7H27?ae2(CB3c(4Jt&&*~^zI}BFsTJBbTi2waik$n!w%j^|+#{y-27lki}=#Skf3$yQmEZR2V`#fKiJc zV>V{^b${UjYR1L!xR#48n3n;nt=k5mS59x+IF^?N3uW=f%s{Tz1(;}!Yt}7fu|k^v z0Fn1THqPIE@wMCp=El5!W38$aLe6`GmGbegTGP`561u|4=fn0Tfoo!uKVD{RTLMw^ zmRHsdEh&n>s0z;>FZd-gh_&kx?gFSM3sUZ7iIaEA zTtjWRSH7Y!1YjJM)8;73Hd)i3h{?k%9R+S%k)eSy`oWqhg&D`4!hvu(`lnmsXB904 zw-c>FZQU95m~l@}7$T5Wrm}N({KIzBYl<{{$_c~WgB-?$252dXYj})ZZga^hFVmQl zQpVWlpO}HH2*5lNz!zaWcg}m52qy}Z=aMRh>$R%mKWL;PqOIL?=fnp~%ULc1RM6UL zwiO)NQrOj9*VE!K2m+dU51(j;qpEVpj}`ZhRX9gC60R%SC#j0k3B>419sd9V5fPuP zR_hYM66q$dXiHC_Fq)g3Idzw8$@ zb8L4WK)DHkux-ZQ(pW&2FE=hJSmy_ zvtE!w+l*+H!SgA6oY$QGGpV4eAokIH#fK+%Ek-Z6uHrn)W@t??#{9-;OiV(Yvr{pa z#ruB)HkKp=Vl>|1JQ#wG$*9G$yhNk`q`;ZWakp`F`i?ObDk!jMTxz|ht^@@g`o5e) zCJu3B_c8)J)#rS|0U3@hBEwc5AOHpMco0BOKzE3$Teo>w(NIfO--yv*s_8>01pvk! zdrGNLnJV3$e-X%&i*37>3s#o&OU|OqHQYN%MD+T3g7_#e9Dk8vO$^|p)@BN7FtnEv zxmMg?(p!ijT&JH%gGVS8CspP6lm(5A(fh$wSBePX#HF(_X;JgmGaBWE3jYA6X25V^ zk}Zy%HxRniA}b7|%v2mh%$74II;omz;$51(<;#j?P--v*!Cgig_>Fg|3Zl*6Jlx{h zg)b3Q(OxW^#@CZAX*{twY`o+gRr4-(vme)T@|D`YVldMyNPKyexZ(skg>vt<7#clh zFx(1_d>;_*yxY=Lpr>WWC?^Fom_q$fYFL}|a7T73S&2sl9|Xcq(G{~w8ykaO~pBaZO2WC!b@=zg{7QA zt+5OfFNgsMw@zczmd-I5%Wo~lf(=?&_9ae_bi}+iLn1Un8j9B|XV8K`s>ytF7TpTY zMgGbMhP=PJBXzcTnNA8t?QHi;#j3TEn@|LpRW!&ml=@YNv7{Sb@Qkj)j zcia-Q^n&h~1yOh08!EGXOYq3!)c;hy_a&;)lA9bv5$q9wowTHs+uPP4Jyop)Ek%i;nIA zRI;H?c6v%EvmixrslL@>x|x)fEy6o!xV7BJX=P?$1hHBAL88WDH;H+i{{RY@#3f2b zV8(fvr(f(NWYI3;m~YPDl{%Chb5P@m`dN!h6O8UOpy`NVjE*m;0~uD}GN=TV#7|ye zlvc(x3c)JEo0Ry|`+?{c#e^!^S}Gpt#n&uV87R9~GlXH$)^jk3ViSP6#Gq>jirq0S z0;~sfElzsh?L=Dg%J+}*FkgA-VluH+iPIk#*vE-ia91W{Q8INAolw3A3WbPbo%cWg E*-rb2od5s; literal 0 HcmV?d00001 diff --git a/notes.md b/notes.md index 35cb01d..9dcafba 100644 --- a/notes.md +++ b/notes.md @@ -10,45 +10,62 @@ - functions - libraries - programs (unix) + - lesson: specifications - LSP (open source milestone) + - lesson: caring about features and code instead of maintenance and collaborations -- lesson: dicatorships work +- lesson: users (user experience) + - what if you diverge from the happy path -- decision making (processes) - - lightweight when risk of mistakes is low (can revert?) +- lesson: how to drive change + - good value proposation (e.g. when breaking backwards compat) + - risk: can you revert? -- tests in CI are garbage + +- you guessed it, I like small programs + +- self-perception/myth + +- how to test (on the end users system) + - tests in CI are garbage + - tests vs good code - reverse dependencies <-> me <-> users - collaboration vs boundaries, communication -- what distribution work taught me for programming +- autotools intro? + + +- mindful about what you don't know + + - posix principles and their connection to functional programming (streams) - navigation - strings -- open source politics -- how to drive change -- how to handle contributions (contribution experience, PRs, documentation, mentoring,. ..) - collaboration + - open source politics + - how to drive change + - how to handle contributions (contribution experience, PRs, documentation, mentoring,. ..) + - respect other projects when contributing + - bus factor + - enabling and supporting (switching from coding wizard to support role) + - boundaries vs collaboration + - relationship between industry and FOSS -- what is the main currency (money vs energy) -- bus factor + - feedback from universities regarding Haskell tooling -- respect other projects when contributing -- enabling and supporting (switching from coding wizard to support role) + - project life cycles - support -- stability vs. .. -- boundaries vs collaboration - trust, respect, relationship - working mode in open source - dealing with expectations -- how to test (on the end users system) -- what if you diverge from the happy path + +- stability vs. .. - why is stability an interesting goal? diff --git a/nus.html b/nus.html index b307be5..b2b8e57 100644 --- a/nus.html +++ b/nus.html @@ -1,6 +1,5 @@ - - + + @@ -9,90 +8,88 @@ Two decades of Open Source - - +code{white-space: pre-wrap;} +span.smallcaps{font-variant: small-caps;} +div.columns{display: flex; gap: min(4vw, 1.5em);} +div.column{flex: auto; overflow-x: auto;} +div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} + +ul.task-list[class]{list-style: none;} +ul.task-list li input[type="checkbox"] { +font-size: inherit; +width: 0.8em; +margin: 0 0.8em 0.2em -1.6em; +vertical-align: middle; +} +.display.math{display: block; text-align: center; margin: 0.5rem auto;} + +pre > code.sourceCode { white-space: pre; position: relative; } +pre > code.sourceCode > span { line-height: 1.25; } +pre > code.sourceCode > span:empty { height: 1.2em; } +.sourceCode { overflow: visible; } +code.sourceCode > span { color: inherit; text-decoration: inherit; } +div.sourceCode { margin: 1em 0; } +pre.sourceCode { margin: 0; } +@media screen { +div.sourceCode { overflow: auto; } +} +@media print { +pre > code.sourceCode { white-space: pre-wrap; } +pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; } +} +pre.numberSource code +{ counter-reset: source-line 0; } +pre.numberSource code > span +{ position: relative; left: -4em; counter-increment: source-line; } +pre.numberSource code > span > a:first-child::before +{ content: counter(source-line); +position: relative; left: -1em; text-align: right; vertical-align: baseline; +border: none; display: inline-block; +-webkit-touch-callout: none; -webkit-user-select: none; +-khtml-user-select: none; -moz-user-select: none; +-ms-user-select: none; user-select: none; +padding: 0 4px; width: 4em; +color: #aaaaaa; +} +pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } +div.sourceCode +{ } +@media screen { +pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } +} +code span.al { color: #ff0000; font-weight: bold; } +code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } +code span.at { color: #7d9029; } +code span.bn { color: #40a070; } +code span.bu { color: #008000; } +code span.cf { color: #007020; font-weight: bold; } +code span.ch { color: #4070a0; } +code span.cn { color: #880000; } +code span.co { color: #60a0b0; font-style: italic; } +code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } +code span.do { color: #ba2121; font-style: italic; } +code span.dt { color: #902000; } +code span.dv { color: #40a070; } +code span.er { color: #ff0000; font-weight: bold; } +code span.ex { } +code span.fl { color: #40a070; } +code span.fu { color: #06287e; } +code span.im { color: #008000; font-weight: bold; } +code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } +code span.kw { color: #007020; font-weight: bold; } +code span.op { color: #666666; } +code span.ot { color: #007020; } +code span.pp { color: #bc7a00; } +code span.sc { color: #4070a0; } +code span.ss { color: #bb6688; } +code span.st { color: #4070a0; } +code span.va { color: #19177c; } +code span.vs { color: #4070a0; } +code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } + + + +
@@ -102,6 +99,21 @@ Julian Ospald

Sep 20, 2024

+
+

Follow the presentation

+

+
+
+

Structure of this talk

+
    +
  1. Introduction (about me and my career)
  2. +
  3. Open Source (what it is and its value)
  4. +
  5. First chapter: Gentoo and package management
  6. +
  7. Second chapter: GHCup
  8. +
  9. Third chapter: Haskell Core Libraries
  10. +
  11. Lessons learned
  12. +
+

Introduction

@@ -135,14 +147,12 @@ financing platform in Singapore)
  • Author of GHCup (the Haskell installer), ca. 2019
  • Maintainer of Haskell core libraries: filepath, unix, os-string, file-io
  • -
  • Implementation of the Abstract +
  • Implementation of the Abstract FilePath Proposal
  • Member of the Haskell Core Libraries Comittee 2023-2026
  • Haskell Influencer (Haskell Foundation, …)
  • @@ -156,7 +166,7 @@ FilePath Proposal

    What is Open Source

      -
    • A group of +
    • A group of licenses (see OSI)
      • Not free software
      • @@ -178,18 +188,18 @@ licenses (see OSI) @@ -229,9 +239,8 @@ Blender
    -
    -

    Gentoo and package management

    +
    +

    First chapter: Gentoo and package management

    @@ -247,21 +256,17 @@ class="title-slide slide section level1">
  • over 1000 contributors
  • -
    +

    How does a Linux distro work (relationships)

    -

    +

    -
    +

    How does a Linux distro work (activities)

    -

    +

    A typical ebuild

    -
    EAPI=8
    +
    EAPI=8
     
     DESCRIPTION="A dummy package"
     HOMEPAGE="https://dummy.org"
    @@ -312,8 +317,8 @@ class="sourceCode bash">
    -

    Packaging challenges (pt 2.)

    +
    +

    Packaging challenges (pt. 2)

    • communication between teams/maintainers
    • execution of large changes @@ -344,14 +349,28 @@ kernel, …)
    • a choice of defaults
    +
    +

    Programming lessons

    +
      +
    • primary packaging skill: being meticulous +
        +
      • small mistakes -> big impact
      • +
      • being as precise as possible about what you want to achieve
      • +
    • +
    • long term maintenance of small code pieces
    • +
    • intense review culture
    • +
    • strict policies and workflow guidelines
    • +
    • how to learn complex system
    • +
    +
    -
    -

    GHCup

    +
    +

    Second chapter: GHCup

    -
    -

    Demo

    -

    +
    +

    Demo

    +

    State of 2019 (Haskell Installers)

    @@ -374,19 +393,18 @@ kernel, …)
    • Posix shell
    -
  • only +
  • only supported linux and mac
  • -
  • inspired by +
  • inspired by rustup
  • support from haskell.org
  • GHCup today

    -

    Haskell +

    Haskell Survey 2022:

    -

    +

    • over 17k LOC Haskell
    • supports all platforms: Linux, Windows, macOS, FreeBSD
    • @@ -406,36 +424,18 @@ Survey 2022:

      What is GHCup really?

        -
      • installer (portable)
      • -
      • distribution channel
      • -
      • feedback channel
      • -
      • +
      • installer (portable)
      • +
      • distribution channel
      • +
      • feedback channel
      • +
      • testing/QA gateway
      • -
      • +
      • provider of sane defaults (e.g. “recommended” GHC version)
      • -
      • glue for holistic toolchain experience +
      • glue for holistic toolchain experience
        • VSCode, stack, cabal-install integration
      • -
      • CI provisioning (e.g. github actions)
      • -
      -
      -
      -

      The difference to Gentoo

      -
        -
      • one-man project (mostly)
      • -
      • much tighter coupling between upstream (e.g. GHC developers) and -downstream (GHCup developers) -
          -
        • heavier on relationship issues
        • -
      • -
      • much more responsibility
      • -
      • position of authority
      • +
      • CI provisioning (e.g. github actions)
      @@ -459,19 +459,17 @@ downstream (GHCup developers)
    -
    -

    Relationships in detail

    +
    +

    Relationships in detail (pt. 2)

    Dependents:

      -
    • +
    • Haskell developers
      • beginners, advanced, students, companies
    • -
    • end users (e.g. compiling pandoc from source)
    • -
    • GitHub CI +
    • end users (e.g. compiling pandoc from source)
    • +
    • GitHub CI
      • GitHub images, Haskell repos
    • @@ -481,73 +479,267 @@ height="32" /> GitHub CI
  • 🧰 tools
  • -
    -

    Other

    +
    +

    Programming lessons

      -
    • the idea of a distribution is to create a user experience

      +
    • writing a small single-purpose program from scratch
    • +
    • how to design command line interfaces
    • +
    • high impact of decisions (not just mistakes)
        -
      • you log into your computer and install a program and everything just -works
      • -
      • or: something doesn’t work… what are your next steps?
      • +
      • bugs now affect GitHub CI and companies
      • +
      • can make “Haskell” look bad
    • -
    • you create an experience

    • -
    • the distribution is that brings all the pieces together: -installation, service management (systemd, openrc, initd), kernel -updates, support

    • -
    • lesson: composition

      +
    • no one to review +
        +
      • => review your own code
      • +
    • +
    • constantly thinking about ways to improve reliability +
        +
      • can’t rely on anyone else to catch bugs
      • +
    • +
    +
    +
    +

    The difference to Gentoo

    +

    Both deal with installation, but…

    +
      +
    • more code to maintain (not just packaging) for me
    • +
    • one-man project (mostly)
    • +
    • much tighter coupling between upstream (e.g. GHC developers) and +downstream (GHCup developers) +
        +
      • heavier on relationship issues
      • +
    • +
    • less dependencies, but much more responsibility
    • +
    • position of authority +
        +
      • what to consider?
      • +
    • +
    • most of my work today is support
    • +
    +
    + +
    +

    Third Chapter: Haskell Core Libraries

    + +
    +
    +

    What are Haskell Core Libraries?

    +
      +
    • bundled with the compiler
    • +
    • fundamental building blocks (primitives)
    • +
    • base library +
        +
      • available to all programs by default
      • +
      • contains the “Prelude” (standard library)
      • +
    • +
    +
    +
    +

    Core libraries I maintain

    +
      +
    • filepath
    • +
    • unix
    • +
    • os-string
    • +
    • file-io
    • +
    +
    +
    +

    Challenges

    +
      +
    • changes are extremly expensive
    • +
    • writing good primitives is hard (non-specific APIs)
    • +
    • lots of odd knowledge +
        +
      • e.g. Windows filepaths +
          +
        • C:foo
        • +
        • /bar
        • +
        • \\?\GLOBALROOT\Device\Harddisk0\Partition2\foo\bar
        • +
      • +
      • Posix standard
      • +
    • +
    • portability
    • +
    +
    +
    +

    Core Libraries Committee

    +
      +
    • 7 members
    • +
    • manages API changes of base only +
        +
      • requires a proposal
      • +
      • requires impact assessment for breaking changes
      • +
      • requires an up-front implementation of the change
      • +
    • +
    • ensures other core libraries have active maintainers +
        +
      • does not interfere with maintenance
      • +
    • +
    +
    +
    +

    Driving changes across core libraries (case study)

    +

    Abstract FilePath Proposal:

    +
      +
    • Haskell String type: type String = [Char] +
        +
      • Char is a unicode code point
      • +
      • not bytes
      • +
      • is interpreted (decoded)
      • +
      • depends on locale
      • +
    • +
    • affects most core libraries
    • +
    • implement as a breaking change (base), or… +
        +
      • in “user-space”
      • +
    • +
    • lack of higher authority +
        +
      • building consensus
      • +
      • convincing multiple maintainers
      • +
      • patching many libraries
      • +
    • +
    • open source politics
    • +
    +
    +
    +

    Programming lessons

    +
      +
    • how to design good primitives +
        +
      • as opposed to abstractions
      • +
    • +
    • considering every impact of API changes
    • +
    • doing history research on past design choices +
        +
      • important design decisions may not be documented
      • +
      • may look innocent
      • +
      • chaning them might be devastating
      • +
    • +
    +
    + +
    +

    Lessons Learned

    + +
    +
    +

    Collaboration

    +
    +
      +
    • main currency in Open Source is energy
    • +
    • treat contributors like kings
    • +
    • be mindful about boundaries (tricky balance)
    • +
    • respect other projects workflows
    • +
    • driving large changes requires +
        +
      • consensus
      • +
      • support
      • +
      • a good value proposition
      • +
      • a good execution plan (risk, breakage, …)
      • +
    • +
    • Haskell Foundation
    • +
    +
    +
    +
    +

    Project maintenance

    +
    +
      +
    • dicatorships work, but are not sustainable
    • +
    • plan for your departure
    • +
    • bus factor is your constant enemy
    • +
    • good decision making processes +
        +
      • lightweight when risk is low
      • +
      • elaborate when risk is high
      • +
    • +
    • actively think about the contribution experience +
        +
      • comment early
      • +
    • +
    • how to maintain the project vision?
    • +
    +
    +
    +
    +

    User Experience

    +
    +
      +
    • UX is harder than CS +
        +
      • yet often an afterthought
      • +
    • +
    • toolchains often lack a holistic UX vision
    • +
    • UX vision gets easily lost in “maintenance mode” +
        +
      • feature creep
      • +
      • maintainer turnover
      • +
      • collective decisions
      • +
    • +
    • UX is a fascinating problem (e.g. OS) +
        +
      • plug & play (intuition… about interfaces)
      • +
      • happy path (control)
      • +
      • defaults (expectations… about behavior)
      • +
    • +
    +
    +
    +
    +

    Stability vs Progress

    +
      +
    • 🤼 conflicting goals
    • +
    • ⚔️ breaking API can have large rippling effects +
        +
      • experience report of a facebook engineer on GHC upgrades
      • +
    • +
    • 🗼 small breakages add up +
        +
      • large projects have hundreds of dependencies
      • +
    • +
    • 🗣️ many discussions in the Haskell community +
        +
      • upgrade cost
      • +
      • language changes (Haskell report)
      • +
      • academic background of Haskell (academia vs industry?)
      • +
      • the role of committees
      • +
    • +
    • ⚖️ how to strike a balance? +
        +
      • SemVer does not solve it (why?)
      • +
    • +
    +
    +
    +

    Composition

    +
      +
    • I love small programs
    • +
    • categories of composition
      • functions
      • libraries
      • -
      • programs (unix)
      • +
      • programs
    • -
    • lesson: specifications

      +
    • unix philosophy
        -
      • LSP (open source milestone)
      • +
      • 🛠️ do one thing and do it well
      • +
      • ⚗️ pipes, compose stdout and stdin (re-usable)
    • -
    • lesson: caring about features and code instead of maintenance and -collaborations

    • -
    • dicatorships work

    • -
    • decision making (processes)

      +
    • how to make your project composable?
        -
      • lightweight when risk of mistakes is low (can revert?)
      • +
      • https://clig.dev/
    • -
    • tests in CI are garbage

    • -
    • reverse dependencies <-> me <-> users

    • -
    • collaboration vs boundaries, communication

    • -
    • what distribution work taught me for programming

    • -
    • posix principles and their connection to functional programming -(streams)

    • -
    • strings

    • -
    • open source politics

    • -
    • how to drive change

    • -
    • how to handle contributions (contribution experience, PRs, -documentation, mentoring,. ..)

    • -
    • collaboration

    • -
    • relationship between industry and FOSS

    • -
    • what is the main currency (money vs energy)

    • -
    • bus factor

    • -
    • feedback from universities regarding Haskell tooling

    • -
    • respect other projects when contributing

    • -
    • enabling and supporting (switching from coding wizard to support -role)

    • -
    • project life cycles

    • -
    • support

    • -
    • stability vs. ..

    • -
    • boundaries vs collaboration

    • -
    • trust, respect, relationship

    • -
    • working mode in open source

    • -
    • dealing with expectations

    • -
    • how to test (on the end users system)

    • -
    • what if you diverge from the happy path

    • -
    • why is stability an interesting goal?

    +
    +

    Questions/Arguments?

    +

    +
    diff --git a/nus.md b/nus.md index 9f9cd68..7e37d38 100644 --- a/nus.md +++ b/nus.md @@ -1,6 +1,24 @@ -% Two decades of Open Source -% Julian Ospald -% Sep 20, 2024 +--- +output: + slidy_presentation: + duration: 45 +title: Two decades of Open Source +author: Julian Ospald +date: Sep 20, 2024 +--- + +## Follow the presentation {.centered} + +![](QR.png){#id .class height=500px} + +## Structure of this talk + +1. Introduction (about me and my career) +2. Open Source (what it is and its value) +3. First chapter: Gentoo and package management +4. Second chapter: GHCup +5. Third chapter: Haskell Core Libraries +6. Lessons learned # Introduction @@ -80,7 +98,7 @@ * will stop maintenance at some point * don't care much about their users -# Gentoo and package management +# First chapter: Gentoo and package management ## What is Gentoo @@ -146,7 +164,7 @@ src_install() { - shipping a "chain" instead of a single artifact * high impact on small mistakes (e.g. assuming a specific shell) -## Packaging challenges (pt 2.) +## Packaging challenges (pt. 2) * communication between teams/maintainers * execution of large changes @@ -166,18 +184,19 @@ src_install() { * combining components to a coherent system (init system, coreutils, kernel, ...) * a choice of **defaults** -## Why Gentoo made me a better programmer +## Programming lessons * primary packaging skill: being meticulous * small mistakes -> big impact + * being as precise as possible about what you want to achieve * long term maintenance of small code pieces * intense review culture * strict policies and workflow guidelines * how to learn complex system -# GHCup +# Second chapter: GHCup -## Demo +## Demo {.centered} ![](ghcup.png){#id .class height=500px} @@ -232,14 +251,6 @@ curl -s -L \ - VSCode, stack, cabal-install integration * ![](ghaction.png){#id .class width=32 height=32px} CI provisioning (e.g. github actions) -## The difference to Gentoo - -* one-man project (mostly) -* much tighter coupling between upstream (e.g. GHC developers) and downstream (GHCup developers) - * heavier on relationship issues -* much more responsibility -* position of authority - ## Relationships in detail Dependencies: @@ -255,7 +266,7 @@ Dependencies: - platform support - binary distributions (the `.tar.gz`/`.zip`) -## Relationships in detail +## Relationships in detail (pt. 2) Dependents: @@ -269,3 +280,179 @@ Dependents: - 🧰 tools - [vscode-haskell](https://github.com/haskell/vscode-haskell), [Haskell playground](https://play.haskell.org/), [nvim-lsp-installer](https://github.com/williamboman/nvim-lsp-installer) +## Programming lessons + +* writing a small single-purpose program from scratch +* how to design command line interfaces +* high impact of decisions (not just mistakes) + - bugs now affect GitHub CI and companies + - can make "Haskell" look bad +* no one to review + - => review your own code +* constantly thinking about ways to improve reliability + - can't rely on anyone else to catch bugs + +## The difference to Gentoo + +Both deal with installation, but... + +* more code to maintain (not just packaging) for me +* one-man project (mostly) +* much tighter coupling between upstream (e.g. GHC developers) and downstream (GHCup developers) + * heavier on relationship issues +* less dependencies, but much more responsibility +* position of authority + - what to consider? +* most of my work today is support + +# Third Chapter: Haskell Core Libraries + +## What are Haskell Core Libraries? + +* bundled with the compiler +* fundamental building blocks (primitives) +* base library + - available to all programs by default + - contains the "Prelude" (standard library) + +## Core libraries I maintain + +* filepath +* unix +* os-string +* file-io + +## Challenges + +* changes are extremly expensive +* writing good primitives is hard (non-specific APIs) +* lots of odd knowledge + - e.g. Windows filepaths + - `C:foo` + - `/bar` + - `\\?\GLOBALROOT\Device\Harddisk0\Partition2\foo\bar` + - Posix standard +* portability + +## Core Libraries Committee + +* 7 members +* manages API changes of `base` only + * requires a proposal + * requires impact assessment for breaking changes + * requires an up-front implementation of the change +* ensures other core libraries have active maintainers + * does not interfere with maintenance + +## Driving changes across core libraries (case study) + +Abstract FilePath Proposal: + +- Haskell String type: `type String = [Char]` + - `Char` is a unicode code point + - not bytes + - is interpreted (decoded) + - depends on locale +- affects most core libraries +- implement as a breaking change (base), or... + - in "user-space" +- lack of higher authority + - building consensus + - convincing multiple maintainers + - patching many libraries +- open source politics + +## Programming lessons + +* how to design good primitives + - as opposed to abstractions +* considering every impact of API changes +* doing history research on past design choices + - important design decisions may not be documented + - may look innocent + - chaning them might be devastating + +# Lessons Learned + +## Collaboration + +::: incremental + +* main currency in Open Source is energy +* treat contributors like kings +* be mindful about boundaries (tricky balance) +* respect other projects workflows +* driving large changes requires + - consensus + - support + - a good value proposition + - a good execution plan (risk, breakage, ...) +* Haskell Foundation + +::: + +## Project maintenance + +::: incremental + +* dicatorships work, but are not sustainable +* plan for your departure +* bus factor is your constant enemy +* good decision making processes + - lightweight when risk is low + - elaborate when risk is high +* actively think about the contribution experience + - comment early +* how to maintain the project vision? + +::: + +## User Experience + +::: incremental + +* UX is harder than CS + * yet often an afterthought +* toolchains often lack a holistic UX vision +* UX vision gets easily lost in "maintenance mode" + * feature creep + * maintainer turnover + * collective decisions +* UX is a fascinating problem (e.g. OS) + - plug & play (intuition... about interfaces) + - happy path (control) + - defaults (expectations... about behavior) + +::: + +## Stability vs Progress + +* 🤼 conflicting goals +* ⚔️ breaking API can have large rippling effects + - experience report of a facebook engineer on GHC upgrades +* 🗼 small breakages add up + - large projects have hundreds of dependencies +* 🗣️ many discussions in the Haskell community + - upgrade cost + - language changes (Haskell report) + - academic background of Haskell (academia vs industry?) + - the role of committees +* ⚖️ how to strike a balance? + - SemVer does not solve it (why?) + +## Composition + +* I love small programs +* categories of composition + - functions + - libraries + - programs +* unix philosophy + - 🛠️ do one thing and do it well + - ⚗️ pipes, compose stdout and stdin (re-usable) +* how to make your project composable? + - https://clig.dev/ + +## Questions/Arguments? {.centered} + +![](jiddu.jpg){#id .class height=500px}