'k'}'h|Nf"'_~~~<h\SX"Pn~~~'-^';?DV'_;'''''~'nk1|TKs|_L} ~'''"h1""';|'uA'\4#^kj;L
''\+YNUUP'N''"""'N"P'N~''''~N"4'`P'rP''"""'~N"_'//)('_'^"#'''>>""';N";.LoN'||C'[
\/^;"'r'/'|;N<]j|)*N'M'JN(``hN'"'''''">'f''|)";";yP'P/'|';wnY;t'SiNN't"|[~:[_;|'
C''-"#'''~';;~7#P||"^b"'E;)''->/y|G|>Jj?K'f.F;^"@'-||'F%N';)E`+cV']'H\,|7^`F~"'"
nEX"n|||nNN_(H"|'|'''|||'||7'*'''||'J]LF'L[.'n"n\f"''|`~"n*NMJJ+N!H)a$&|||']T*""
*''M'*'|""""'""'||"""'"""""""'|[^'<"'"''"''''''''''|**"'''''"'''''''''';|%''''''
M*'YY*"'''"'"""'''"""'""''P'",|d'~''~;;;;+{hJG_T5JU'':%"''%;5}n('Yx4Ff#u|||^e"j>
> Once the artwork is complete, its time stops, while the bureaucracies
> overseeing artwork presentation tinker on and on forever, sometimes
> cooperating with the art, sometimes not. How can the integrity, coherence,
> beauty, and dignity of sculpture survive installation and maintenance? More
> generally, how can the integrity of creative productions be enhanced - or at
> least not be corrupted - by the bureaucracies of presentation?
>
> What are the architects and curators thinking when they pedestalize sculptures
> on alien blocks?
> - Edward Tufte, [Beautiful Evidence].
> Sculpural Pedestals: Meaning, Practice, Depedestalization
The benefit of open source software is that you can easily read it, understand
it, modify it, and extend it. Most OSS projects start as small programs that
fit that ideal. But as projects evolve, they can start to ditch readability for
feature delivery. Anyone who's ever poked around a large open source project
before will have seen a lot of *code grime*. It can take hours to drill down to
find a specific piece of logic. This destroys the benefits of OSS. Of course,
the people inside of the project still know how it works, but for the rest of
us, it might as well be proprietary. Deciphering awful code is almost as
difficult as decompiling well-written assembly.
I'd like to make a fuzzy distinction between open systems, and *very* open
systems. [dwm] is a very open system. It's small enough that you can understand
it in an afternoon, but it's robust enough that it serves as many people's
entire desktop environment. As such, there are tons of [forks] and [patches] -
signs of a very open system.
Lots of OSS is like the iMac G3: you can see into it, but you can't open it. You
can easily expose source *code*, but it takes real effort to give people source
*understanding*. Here's what seems to work:
1. Make software small. Each new function, file, or directory should make you
wince. Be vigilant about adding too many features.
2. Document everything extensively, via comments *and* external docs. Don't let
any knowledge rot in someone's brain.
3. Avoid creating syntax constructs others won't understand. (See: [lisp curse])
[OpenBSD] is another very open example. It's big, sure, but they've ensured each
new component is nescessary for delivering an operating system. They've got
best-in-industry documentation, and the code is clean. And once again, OpenBSD
is widely used and modified for various purposes. Funnily enough, OpenBSD
actually contains LLVM/Clang, and the source tree includes a [very sad note]:
> This directory contains software that is Gigantic and Nasty but Unavoidable.