Ask HN: Labour of love projects

58 points by muhic ↗ HN
An individual or small enough team of individuals' care and dedication to a project can outshine and outlast better funded/manned projects in the same space, often at the cost of reduced material rewards. Which such projects do you find inspiring?

A few personal favorites:

  GPG - Werner Koch (see https://news.ycombinator.com/item?id=9003791)
  Tex - Donald Knuth
  Fabrice Bellard's projects

49 comments

[ 2.7 ms ] story [ 81.1 ms ] thread
The Raft library -> raftlib.io

Not sure if it's inspiring or not, but it's my labor of love. I kept it going after grad school. I work on it a little bit every day, and slowly but surely it's becoming what I originally envisioned as my ultimate parallel programming system.

Apparently Raft runs on streams. https://github.com/RaftLib/RaftLib/wiki - https://en.wikipedia.org/wiki/RaftLib

imho you could stand to distinguish it more clearly from the Raft consensus protocol

Nah, I was first :). Well, technically we published papers around the same time. My first works were centered around mathematical modeling formalisms for stream processing systems though which means the actual framework papers trailed the modeling papers that mentioned the Raft Language and Raft Library. I suspect that lag accounts for a lot of the name recognition....although I'm finally higher up on the Google search results.

Unfortunately anything published at uni's like Stanford has immediate potential for faster dissemination. I'm either going to have to wait out the extinction of the Raft consensus protocol (or at least for something better to come along) or to get a better name. Stream processing systems are also synonymous with "Data-flow." They all have a history of punny names (See StreamC, StreamIt, Brook, WaveScript, FloodGate, RapidMind, even Cuda is a play on barracuda which has it's origins in stream processing from the academic Brook project). So if I were to get a better name, I'd have to find something equally punny (and likely create redirects from about 11/12 academic pubs, journal papers, etc.). If you have any suggestions I'm definitely open :).

It seems like many or even most dynamic programming languages fall in this category: Python, Ruby, and Perl.

GNU bash has been maintained by Chet Ramey for decades (although he isn't the original author.) Most of the GNU projects probably count, although some of them have changed maintainers much more often.

R was started by a couple of stats professors, and I'm sure it wasn't their main line of research (as opposed to Lua, Haskell, and OCaml, which are definitely labors of love, but they are somewhat funded, if you consider an academic salary funding).

Julia seems to be a labor of love, although it has had some amount of funding.

Clojure and D both have or had some commercial element, but you can tell it's mainly the love driving it, not the business.

Java and JavaScript are probably the big exceptions, in that they were started by big companies. As well as C and C++, which both originated at Bell Labs.

-----

And if you are really looking for single person projects, sqlite is probably one of the best examples. If I recall Richard Hipp has actually paid people to work on sqlite occasionally, but he's written almost all the code, and doesn't really accept patches.

Though I'm not really sure if "not accepting patches" like Knuth, Bellard, or Hipp is something to be admired... I have tend to want to control things too, which is probably a bad tendency.

I might be wrong, but Hipp does accept patches in a different way. On the Fossil SCM mailing list, I've seen him (and other contributors who have commit access) get patches from users and incorporate them into the project.

They do mention the user who contributed the patch instead of actually assigning the commit to him, though. Does that count somehow?

We are more open to patches on Fossil because (1) Fossil has a BSD license, which is easier to accept patches for than public-domain and (2) Fossil is seen (rightly or wrongly) as less "mission critical" than SQLite.

And, you are right - in many cases people will send a drive-by patch but we will rewrite it rather than apply it directly: to make sure we understand it for long-term maintenance, to clean it up, and to avoid licensing problems.

Patches are difficult to accept on a public-domain project. That is one real advantage of GPL over BSD-style licenses or public-domain - it is easier to accept patches.

I've had a lot of help from Dan and Joe and Shane and others on SQLite. Stats here: https://www.sqlite.org/src/reports?type=ci&view=byuser

How did Dan, Joe, and Shane get started on sqlite? Were they volunteers or paid?

(I attended a Google talk you gave probably 10 years ago, and I remember that you mentioned you had paid people to work on sqlite. I thought that was interesting for open source software!)

Two that I use almost every day, and which continue to be developed as labors of love despite no longer being the "fashionable" things:

1. The Perl Programming Language

https://www.perl.org

https://perl6.org

2. TextMate, a Text Editor for OS X.

https://macromates.com

https://github.com/textmate/textmate

For what it's worth, some of the things that have decreased Perl's popularity have also made me use it less, usually in favor of Go; while similar factors with TextMate make me "test-drive" a new editor every six months of so, but (so far) I always come back to TM.

The two are, to my mind, different kinds of labors, though both clearly labors of love. TextMate was the Mac text editor that embraced the Unix underpinnings of OS X: BBEdit for programmers, if you will. Its balance of Mac and Unix feel is, as far as I can tell, still unique; and I think that's why it's still actively developed despite a rather troubled history.

Perl, on the other hand, is two things: Perl 5, which still powers a lot of software in the quieter realms of commerce and research; and Perl 6, which is absolutely an aspirational, striving new language.

My take is that Perl 5 is developed further because so much depends on it, and because so many people are attached to their software written in it. Perl 6 on the other hand is developed -- by many of the same people -- in the belief or at least hope that a highly expressive, hacker-friendly general-purpose language will find its audience over time, buzz & PR be damned.

The original Ruby on Rails videos that used TextMate won thousands of programmers to OS X for that pretty.
even though i no longer use windows, i still have a soft spot for winmerge [http://winmerge.org/?lang=en]. beautifully polished open source project, especially for a platform where there's not much open source around.
Urgh. I don't agree that Winmerge is "beautifully polished", even measured against the low bar of open source software. It's ugly and hard to use - I'd switch to beyond compare every time.
I used it happily for two years when I had a job that used windows, and found it very easy and pleasant to use. I have no idea why you consider it hard.
I know this is not exactly what the OP asked for but my favorite labour of love project is by a friend of my dad.

He started in 1979 building this:

http://000fff.org/uploads/ur/IMG_1831.JPG

http://000fff.org/uploads/ur/IMG_1832.JPG

http://000fff.org/uploads/ur/IMG_1833.JPG

http://000fff.org/uploads/ur/IMG_1834.JPG

http://000fff.org/uploads/ur/IMG_1835.JPG

http://000fff.org/uploads/ur/IMG_1836.JPG

Everything is handmade as in everything. One of the gears takes 400 years to rotate around it's own axis.

It's half size of this watch https://en.wikipedia.org/wiki/Jens_Olsen%27s_World_Clock

Besides that he managed to build a succesful security company, countless digital watches (big and small) and even a freaking small harbour and countless other things. He speaks assembler almost as well as he speaks his native language Danish which is why I feel ok posting about him in this thread :)

Claims that there are no modern day da Vinci does not apply to him.

I am such a mechanical clock/watch geek (WIS) and this is truly spectacular.
Someone really ought to nominate Sebastian McKenzie, who made a little JS tool called Babel that one or two people reading HN have probably used.

[Edit: What's with the downvotes? Surely Babel qualifies as an inspirational project of this type, and Sebastian himself is impressive for producing something that has arguably shaped an entire industry at such a young age and, for a considerable time, developing it pretty much all on his own.]

TempleOS: http://templeos.org/

It's pretty well-known around here, but I still find it amazing to think about every time that I see it come up.

Going to plug http://online-go.com.

Solely developed by one guy for a while but they have since expanded. It's something that was really needed for the English go community.

If anyone wants to play, send me a challenge. I'm Mongorians on there :-)

The Joe editor comes to mind. Just one guy, Joe, who made his own editor in 1988, and maintains it to this very day. Rather impressive
The fact that Dwarf Fortress hasn't been posted here is shocking to me. Probably the coolest game I've ever seen in the sense that it excites me as to what video games can accomplish. Basically built by one guy, Tarn Adams, with some help form his brother I believe. Please take a look if you haven't. It has poetry.

https://www.google.com/search?sourceid=chrome-psyapi2&ion=1&...

I really wish I could play DF, but even as someone who occasionally dabbles with playing roguelikes, I can never get into it. DF looks completely daunting to me at the outset.

I do admire the game's lovely intro sequence, though.

It's a lot better (and easier!) with a different tile set. Definitely worth taking the time to play, fantastic game.
Autohotkey: chris mallet / Steve gray, autoit team)
Lugaru Epsilon, an emacs-like editor from the early 80s that is still sold today. It's one guy that developed and it's an excellent editor.

Features include extremely fast, extensible via a C-like language, excellent docs, excellent support, tagging/bookmarking, formatting, etc.

I switched to it after first picking up emacs because I found ELisp frustrating to work with and Emacs itself was dog slow on a modern computer. Haven't looked back since.

Only down side is the somewhat steep cost of $250. That said, I firmly believe it is worth the cost.

How have I never heard of this... quite amazing that it's still active!
The great thing about it is it's pretty much "batteries included" by default. I only had to configure four things: tab width, insert spaces, colour theme, and show tabs/spaces.

I finally took the plunge over the long weekend and started writing a PowerShell mode since I've been writing a lot of powershell lately. Next up will be a Haskell mode.

iTerm2, various fonts, a huge proportion of the world's most impressive visual art, a great number of books, a huge proportion of music, home cooking ;)
OpenZFS

DTrace

illumos.

Now, the last one, illumos, is the perfect example of a labor of love: the original company has been assimilated and subsequently destroyed, the world at large is overwhelmingly using a competing product, Linux, the competition has seemingly endless time and infinite resources, and yet the kernel engineers persist, even though they quit Oracle, and are working at different companies around the world! On top of that, they managed to come up with revolutionary products which now generate hundreds of millions of dollars in revenue (Delphix comes to mind).

What kind of love does a person feel to keep working and continue against all odds?

The reason work continues is largely monetary -- Illumos/OpenSolaris contains compelling technology that the storage industry is ready to pay for. That's not to say that many contributors don't love their work, but it's not a templeOS situation.

(I'm an Opensolaris contributor/enthusiast from some years ago, and worked at Nexenta.)

I know who you are, I'd recognize your name anywhere: you worked on BeleniX with Moinak Ghosh, and you guys literally invented an ISO9660 block optimization algorithm, which then Sun took for OpenSolaris and never recognized you for the amazing work you did... you guys were pioneers, producing the first live ISO of OpenSolaris. If I'm not mistaken, your code and algorithm lives on in live USB and ISO versions of Oracle Solaris.

And if I have seen any further, it is because I stood on the shoulders of giants.

My brothers and sisters in arms are not forgotten; you need no introduction with me, son of UNIX.

Indeed, Moinak's work on the block optimization was phenomenal (and under-appreciated).
Adom - http://www.adom.de/home/index.html - I believe that's still made only by Thomas Biskup. It was on hiatus for a few years, but now it's back on track after crowdfunding and with a Steam version.

Total commander by Christian Ghisler (https://www.ghisler.com/) - it's still commercial/sharware, but existed for years and still doesn't have a proper competition.

The students are have lot off home works so they don't get time to do that,in this time they try to contact with best thesis writing service.The <a href="http://www.bestthesisserve.com">best thesis writing service</a> are provide thesis that a student actually wanted.
The students are have lot off home works so they don't get time to do that,in this time they try to contact with best thesis writing service.The <a href="http://www.bestthesisserve.com">best thesis writing service</a> are provide thesis that a student actually wanted.
A strange answer, but I find a lot of fan games and game mods good examples of this. You've got an individual (or perhaps even an entire team) working for free on a project that could potentially be shut down at any time with no expectation of any compensation other than other people enjoying their work.

For example, the SMW ROM hack Brutal Mario (whatever you may say about the level design quality) is an insane technical achievement.

https://www.youtube.com/watch?v=INa41RSwiCc

The fact some random Japanese guy no one knows the identity of spent 10 years turning a single game into a strange crossover title with hundreds of technical gimmicks based on other games (including some uses of mode 7, 3D, etc) is nuts. A team of 20 or more people working full shifts might have trouble replicating a lot of the stuff in this game.

Or how about Project M? Before it was shut down, they basically turned Smash Bros Brawl into a clone of Melee with new mechanics, stages, characters, graphics and music, pretty much everything:

https://www.youtube.com/watch?v=rcJHZCuaG84

Or heck, Mushroom Kingdom Fusion in general. It may be an extremely buggy, often poorly balanced game, but damn it's a crazy ambitious premise with a level of variety not seen in pretty much the entire industry outside of it.

https://www.youtube.com/watch?v=rD7VWxHGU4o

300 levels, around 10 or 20 characters with their own play style and mechanics, about a hundred power ups, thousands of enemies and bosses, even more random gimmicks and level mechanics and a massive amount of graphic and music from everything you can think of. All by what? Less than 20 people in their spare time?

Either way, the fact people can work on stuff like this purely in their free time and ending up dedicating years of their lives to a project that can be on par with a commercial one without any means of making money off of it... that's got to be pretty impressive.

And I haven't even mentioned that guy whose spent so long on his mod that Duke Nukem Forever actually started and finished production while it was still in development. With said project still being ongoing and unlikely to finish within the next few decades.

LuaJIT by Mike Pall, one of the fastest, even compared against compilers by commercial teams. After 10 years as a one-man project, it is being migrated to a community effort with stewardship by CloudFlare. Over the years, companies sponsored Mike to add new features to the open-source codebase.
luajit. Better than things like V8 javascript with millions in funding.