Did I mention we needed some marketing? We really needed some marketing.
So, while it's very common to ask about taking investment, also look hard at the whole picture and see if there is a part of it that you'll (perhaps secretly) admit that you don't want to do. If you are in complete control you can kid yourself that you'll get to that part and never do it. Or, in our case, not do it until it is too late.
Investment can be viewed as adding some adult supervision. I screwed up by not taking it, I was so worried about the dreaded VC's screwing up my company that I didn't consider the possibility that they could also help. Well I did, but was too stupid to value the marketing part (I'm a hard core engineer at heart).
Obviously the goal is to develop both!
Which chaps my hide, git is an awful design, it's a tarball server pretending to be a source management system. Source management is basically an accounting program for programmers, it's suppose to faithfully log what you do. How does git do that when it has no concept of a file? Answer: it guesses about renames. And blame is slow because there are no file create or file delete events.
It was trivial for us to create a bk fast-export command and make it work incrementally. It's next to impossible to do it the other way incrementally because git doesn't have a versioned file object.
It's like a file system that has no inodes. To me, it makes no sense. But it won. Yeah. Not.
Git is both free AND viral. It's viral because if you want to use someone else's code, you have to use their source control system. Linux using git is a big deal in that respect (and yes I realize the kernel used BitKeeper :) ).
Also, Github as company and git the open source project are pretty complementary. It's hard to house both entities under the same roof, and you need that for ecosystem to succeed. Github is basically a UI/app company, and git is systems plumbing.
It's analogous to some PaaS companies wanting to make their own web framework. No actually that's a huge amount of work and you underestimated it. For all its faults, rewriting Rails is not something anyone can do. Heroku ended up being one of the early success stories because they just took your rails app and ran it.
Likewise everyone thinks they can rewrite Github, but that's pretty hard. It's at least 10x more work than you think, and you can get it wrong. If a tool isn't open source, there's much less incentive for a company like Github to come around and "popularize" it.
It seems like it's very hard to make money in developer tools in general, because so much is open source. And honestly they should be -- I would be a hypocrite if I said I didn't choose tools because they are open source. I guess Github and Atlassian are the outliers.
Anyway, my overall point is that I wouldn't necessarily chalk it up to marketing :) I do think open source got much bigger in the last decade, and it's hard for me to imagine that it wouldn't be built around an open source VCS.
And BK is (was, until last year [too late]) closed software that requires a paid commercial license to use. Pretty much a show stopper for open source contributors donating their free time.
The "lines" data structure. This is a list library that scales down to a very small thing and up to pretty decent sized things. Think perl arrays and the ops on them.
lines.h snippet below.
* liblines - interfaces for autoexpanding data structures
* s= allocLines(n)
* pre allocate space for slightly less than N entries.
* s = addLine(s, line)
* add line to s, allocating as needed.
* line must be a pointer to preallocated space.
* freeLines(s, freep)
* free the lines array; if freep is set, call that on each entry.
* if freep is 0, do not free each entry.
* buf = popLine(s)
* return the most recently added line (not an alloced copy of it)
* reverse the order of the lines in the array
* sortLines(space, compar)
* sort the lines using the compar function if set, else string_sort()
* removeLine(s, which, freep)
* look for all lines which match "which" and remove them from the array
* returns number of matches found
* removeLineN(s, i, freep)
* remove the 'i'th line.
* lines = splitLine(buf, delim, lines)
* split buf on any/all chars in delim and put the tokens in lines.
* buf = joinLines(":", s)
* return one string which is all the strings glued together with ":"
* does not free s, caller must free s.
* buf = findLine(lines, needle);
* Return the index the line in lines that matches needle
The result to a user is if they
It gives you compression and hardened files under the stdio
API and it's super fast. Like GB/sec fast.
There's other stuff as well, like the spawn() code (I haven't
called fork() in a decade or more) that brings a form of Windows
spawn to Unix (since you can't make fork() work well on Windows). All of the code is Windows/Unix portable.
As to the "direct response" stuff, so do you have that straight from Linus? Because that's not what he said to me and we were very close at the time, emailed or got on the phone daily.
I'm a little tired of the licensing stuff. It wasn't as bad as people made it out to be but I get it, it's a more fun story when someone is the bad guy. Can I ask you to let it go or is that too much?
anyway, glad to hear you are retired by the sea in norcal, that's not exactly a sob story, which is why i feel comfortable commenting about it (and you're on a public forum).
You definitely don't sound confident at all and I feel like your problem is much deeper one where taking VC money or not isn't the issue.
It's clear from reading you would've spent the money on non-marketing as the hindsight speaks for itself.
Marketing is a small part of the equation but shouldn't be most of the funding goes. Depending on your business and industry, it will vary greatly.
I really don't see any negative impact on you. It might feel that you missed out but maybe it was never a good fit.
Of course, today, you are wiser and know exactly what to do with it, so consider it a lesson that can't be taught in schools.
That company changed the world. No, we didn't win, but all the distributed source management systems came after us, we were first, they are copies of our model. We invented that space, clone/pull/push/commit are our verbs. We invented, in effect , the concept of a changeset. Before us, there was CVS. No binding of a set of related files in a commit. I'm good with that, we changed the world for the better. If you are a programmer your world is better on a daily basis because of us.
As for "my problem being much deeper", not sure where you get that from. I'm retired, I'm fine. Do I have some regrets? You bet.
- I wish Git, since it won, was a pure clone of our stuff, we have a much better architecture, both for accuracy and for performance (try running Git on NFS, then try our stuff. Try running Git with a 4GB repo and then try our stuff.)
- I wish I had made enough money that my team could also retire.
Other than that, I'm good. I've got 4 dogs that I love, live in the Santa Cruz mountains with an awesome family that I also love, I've got nothing to complain about. Well, maybe some health stuff but I'm old so that is par for the course.
 One of my guys, Rick Smith, knows way more about this stuff than I do, and he tells me that Aide-de-camp had some sort of changeset concept. So perhaps we were not first. But nobody knew about it. Back when dejanews was a thing you could search usenet in a time range. I remember searching going backwards from the time that we introduced the changeset concept, there either 6 or 9 hits in over 2 decades of Usenet posts. The fact that everyone knows what a changeset is traceable to us far more than Aide-de-camp.
I for one thank you for your contribution. Hacker News can be a bunch of jackasses at times.
You are absolutely right: distributed version control led to git, which completely changed programming. And though Satoshi didn't cite it by name it was almost certainly also part of the inspiration for Bitcoin and the blockchain, which has led to another $30B in collective market cap.
If you want a suggestion for what to do next, or what to advise, you can probably have a lot of impact (and make money) by getting involved in some of these new distributed ledger/ICO projects. You have the technical ability and it's now possible to monetize at the protocol level. Here are some links if you're interested:
I'm pretty retired but I'll check out your links. I kinda feel like a useless dinosaur but if there are places where I can help move things forward I'm 100% up for that. I just don't feel like I have that much value to add at this point.
Edit: one thing I really wish would happen, and if I could help with this I'm in, is /etc and any other config file is under version control. 3-way merge/3-way diff and merge is way way better than 2 way.
For that matter, I wish drop box was versioned. Same reason. It's always blown my mind that nobody has done a file system that was versioned so you could merge stuff.
Maybe that's because BitKeeper merges so much better that the others. It's possible to automerge a lot more if you have the history.
(A little facetious here...no merging, but come on, it was the 1980s.)
Consider the /etc stuff. You wack apache's config, so does debian, you do an apt-get upgrade and it either automerges or you get presented with the 3 way merge in $EDITOR or our graphical file merge.
In many cases, the system can just automerge it (BitKeeper has a pretty sophisticated way of doing, it's better than other answers in a lot of cases) and when it can't you get access to the full DAG and can use all the SCM tools to merge.
But there lies the problem. You are deeply attached with your ideas and product. You said yourself, you spent 19 years changing the world in this area but not satisfied. It makes sense why you would point to marketing as being the fault.
I hope you can see it from a passerby's point of view and not take offense at what is being said like the other guy below reacted.
When I spent a good chunk of my 20s writing software that I thought would change the world, I was defensive, had a huge ego ("My idea changed the industry and I feel like others with VC money have stolen the lime light"), and just refused to let things fail.
I admire that you've found happiness in life. There's more to life then just running a business and making money. I think it's definitely ignored in our world.
I did all the sales for the first ~8 years, 16 hours a day on the phone. During that time I ran what I called "Larry's dating service" which was when I was talking to someone crazy smart I would go "Do you know ...." and then hook them up. It's not Tinder but I made a pile of really smart people get to know each other. That's confidence. I think.
Etc. I get that you are trying to tell me something but I'm not sure what it is. If I've come off as not confident that's sort of a mistake, there was a time when I was in my groove and I felt like Steve Jobs, I knew what the world wanted before they knew it. I had to push to get that stuff done, everyone said they didn't want that stuff and then they did. That takes a shitload of ego to keep going.
I'm just not sure where if I were more confident we would have been better. I suspect if I had been less confident we might be better. So I am not arguing with you or trying to disrespect you, I just don't get the not confident thing.
You do realize you condescend Larry McVoy, right?