Sunday, April 30, 2006

Why Paul Graham won't release Arc

Paul Graham recently posted some startup lessons he spoke about at the 2006 Startup School. In his writeup, he mentioned:

Perhaps the most important reason to release early, though, is that it makes you work harder. When you're working on something that isn't released, problems are intriguing. In something that's out there, problems are alarming. There is a lot more urgency once you release. And I think that's precisely why people put it off. They know they're going to work a lot harder once they do. [2]

If we look at the footnote, we find:

[2] I know this is why I haven't released Arc. The moment I do, I'll have people nagging me for features.

This tells us a few things right off the bat. First, Arc probably won't be open source. If it were open source, then it could be assumed that Paul's massive following of hackers would jump on it, fix up the rough spots within the first week or two, and proclaim it to be the next best thing since Common Lisp. If it were closed source, then yes indeed, there will be an equally large push to find bugs, during which, there might be some questions raised regarding Paul's hacker status and (in)ability to extinguish bugs quickly. He'd be right to harbor some concerns.

The next logical question is, why closed source? If he releases a buggy product built around well-designed concepts or constructs, then it probably won't take too much effort to implement a similar product in an open-source manner. Open-source products generally arise because their closed-source counterparts are (1) too expensive, (2) too buggy, or (3) both. We can certainly conclude that Arc v1.0 will be buggy, and it's anyone's guess as to whether it comes with a price tag. The interesting thing about open-source is that any price tag is too much.

There's also the question of competition. With the likes of Ruby on Rails in the neighborhood, I too would be concerned about delivering a competitive web-developing product. Even at that, Y-combinator is funding would-be Arc-competitors like Infogami.

Regarding the open-source question, the easiest defense is probably something along the lines of "We're hosting a server that will run (insert name here), so we don't need to release the source code". Certainly, this formula works well for Google and the Y-combinator startups. Steve Pavlina has written extensively about finding your purpose, and for Google and the startups, they have a purpose for keeping a tight lid on their source code. They want to keep their secrets to themselves, and they work hard to make sure their secrets are worthwhile.

What would be the purpose in keeping secret the implementation of Arc? I think it's clear that Paul won't enter "desperate startup mode" and code 12 hours/day to stay on top--not now and not ever again. Thus, any startup-type business model he builds will lack the key element of determination. We can scratch off any plans for making money (read: creating wealth) startup style.

Why can't the implementation of Arc be open-sourced? I don't know. There's nothing magical about server-side code that prevents it from being open sourced; heck, Apache is ALL server-side code, and it's used practically everywhere.

What is the purpose for creating Arc? If it is to enable hackers everywhere to use more powerful development tools, then there is a chance of it catching on if it's open source. If it is to help Paul Graham make more money, then it may never see the light of day.

Paul, if you read this, I hope you're feeling a little deva vu from when you made your "Ask wealthy entrepreneurs for money, but don't ask me." This time, however it's more along the lines of "Release software early, but don't ask me to release mine." Instead of nagging you in detail about it, I'll just say: number one!

16 Comments:

Blogger Michael Hartl said...

Actually, I'd bet it'll be open source. It's just that open-source code won't keep people from requesting new features. Python, for instance, is open source, but I bet that doesn't stop people from inundating Guido with feature requests. Arc still needs a leader, and that leader is Paul Graham. That's a big commitment, and evidently he's not ready to make it yet.

5/01/2006 12:22 AM  Edit
Blogger Peter Schombert said...

I know arc is his baby, but he could always entrust it to someone who did have time and energy and then act as a guide for the language's development, making suggestions and offering helpful advice without getting his hands dirty.

5/01/2006 2:08 AM  Edit
Anonymous Anonymous said...

How do you know it's not going to be open sourced? Has he told you that or are you just guessing?

5/01/2006 5:38 AM  Edit
Anonymous KK said...

He's already said many times that the language will be open source - that "Arc will be written in Arc". He doesn't want to have an instruction manual, just open up the command in question, look at the code and read the comments.

5/01/2006 5:44 AM  Edit
Anonymous Anonymous said...

Release often + get a start up going often involves a software system that in the early days will be evolving as quickly as the business will, a concept that you are mixing up with a program like Arc or qmail that is meant to be designed for the most part the right way from the beginning, and built to last for the ages.

5/01/2006 7:42 AM  Edit
Anonymous Anonymous said...

My sense is that the reason there's no Arc is this: Graham introduced Arc in an article in which his criticized the many problems with Lisp. Lisp does have a lot of problems, as do all languages, and it's easy to find problems with it. It's much harder to fix those problems effectively.

Graham is a very smart guy, and he is also very arrogant. It is very important to him to be smarter than other people. One way for him to feel that way is to criticize the things they have done.

As long as Arc is unreleased, it is perfect. It is immune to criticism. It can sit off in its Platonic world, bering the perfect solution to all of Lisp's problems, because none of its own problems exist yet.

But as soon as Arc is released, people will see that it has problems of its own. They will complain about it. Graham won't be able to pretend to himself that he understands the problems of programming languages better than anyone else.

That is why you are not going to see Arc any time soon. It has ego value for its inventor only as long as it is unreleased.

5/01/2006 9:47 AM  Edit
Anonymous Anonymous said...

I don't normaly do this, post comments, and this one isn't very interesting, but perhaps the reason its not released yet is just that its not done?

5/01/2006 10:25 AM  Edit
Anonymous Anonymous said...

... or because it's vaporware? We all know Paul has a big ego and will comment on everything he knows nothing about, but his only contribution showing his skills is a lucky sales pitch for a shop app (a shop! even my little sister could write one and probably in bash) to yahoo.

He just won't release Arc ever.

5/01/2006 11:26 AM  Edit
Blogger Jean-Francois said...

The question of open source is probably moot. PG wrote that the Arc spec is its source and that its source is the spec. Can't release one without releasing the other.

As to the release proper, I fail to see the motive behind annoucing it and then deciding to never release it. It's not like PG can hide behind corporate bureaucracy as a justification for not moving forward.

His word and credibility are on the balance.

5/01/2006 1:06 PM  Edit
Anonymous Anonymous said...

The question of open source is probably moot. PG wrote that the Arc spec is its source and that its source is the spec. Can't release one without releasing the other.

As to the release proper, I fail to see the motive behind annoucing it and then deciding to never release it. It's not like PG can hide behind corporate bureaucracy as a justification for not moving forward.

His word and credibility are on the balance.

5/01/2006 1:06 PM  Edit
Anonymous Anonymous said...

The question of open source is probably moot. PG wrote that the Arc spec is its source and that its source is the spec. Can't release one without releasing the other.

As to the release proper, I fail to see the motive behind annoucing it and then deciding to never release it. It's not like PG can hide behind corporate bureaucracy as a justification for not moving forward.

His word and credibility are on the balance.

5/01/2006 1:08 PM  Edit
Anonymous bugeats said...

bq. "But as soon as Arc is released, people will see that it has problems of its own. They will complain about it. Graham won't be able to pretend to himself that he understands the problems of programming languages better than anyone else."

I agree. I feel that if was ever _was_ going to be release, it would have by now. I bet the word count of all those lofty essays and books about Arc is more than that of the hypothetical source code.

Maybe it's just a delusion. Maybe Arc doesn't even exist.

5/01/2006 1:08 PM  Edit
Anonymous Robert Fisher said...

My experience is that, 9 times out of 10, whenever someone sets out to fix those last remaining annoyances with an established technology, they end up...

1. Discovering & wasting a lot of time wrestling with the same conundrums that prevented those last remaining annoyances from being fixed for so long, &...

2. End up spending a lot more time using the good enough established technology rather than working on its platonic replacement.

So, I'll be happily surprised if Arc is ever released.

5/01/2006 2:07 PM  Edit
Anonymous Anonymous said...

As I understand it, the guy who first invented Lisp 'released early' and all of a sudden the uptake was so large that he couldn't improve the language. His first release got frozen..

Isn't it possible that PG wants to avoid that and ensure that Arc gets built properly?

How come you didn't just ask him about it, instead of speculating?

5/01/2006 2:17 PM  Edit
Blogger infinityis said...

How come you didn't just ask him about it, instead of speculating?

Good question. I could have certainly emailed him directly and gotten a response, but what good would it do? I might have a better understanding of his motives, but what good are motives without action.

Put another way, when he said "Ask for money, but not from me", it wasn't an individual who felt let down--it was an entire group of enthusiastic hackers (presumably). If it were an individual instead of a group, that individual *might* end up getting seed money, etc., but instead, we got Y-combinator, Startup Schools, and a whole community built around startups.

My hope was that in doing this, Paul might not keep Arc under tight wraps. If he's going for popularity, a big announcement might be suitable. But if he wants the best Arc possible, he would have no fear of laying his plans out on the table, discussing openly the finer details, and making decisions publicly. He would be under no obligation to make popular choices, and he could take years to make decisions. If enough people disagree with him or want faster progress, there is nothing preventing a popular-yet-shorter-lived fork.

The important thing here is not necessarily the underlying source code (although it doesn't hurt). The important thing is the concepts. What will be different about Arc that makes it better? I know there are unresolved issues in Arc, but if we knew more than the vague benefits (namespaces, etc.), maybe it might make some progress.

As I understand it, the guy who first invented Lisp 'released early' and all of a sudden the uptake was so large that he couldn't improve the language. His first release got frozen..

This specifically relates to popularity, which Paul himself has eschewed (in writing, at least). There is absolutely nothing that kept McCarthy from implementing an new-and-improved Lisp.

How do you know it's not going to be open sourced? Has he told you that or are you just guessing?

Pure guessing on my part. From the responses, it sounds like I'm wrong, but please, if you've seen any Arc source code, by all means, let me know about it. If he's been working on it (at all, even for a day) there should be *some* code.


Keep in mind, I have a healthy amount of respect for Paul, and I applaud his efforts in inspiring startups. However, regarding Arc, I cannot see a technical purpose in keeping it hidden away for so long. In fact, I'd say it hinders things from that perspective. Now as far as its value in elevating Paul's status, or in inspiring others to beat him to the punchline...that makes sense to me. The whole premise behind the original post was that he claimed "there is a lot more urgency once you release", and that is why he hasn't released. But he forgets, he is not a startup (with respect to Arc); and thus urgency does not apply.

Note: It may be implied that urgency is a result of a desire for popularity, and startups don't stand much of a chance if they cannot become popular.

5/01/2006 5:03 PM  Edit
Anonymous Phil Crissman said...

In other news, Duke Nukem Forever was ready to release; but it was decided to rewrite it in Arc first.

5/01/2006 6:17 PM  Edit

Post a Comment

<< Home