It's about managing user expectations, which David has done rather poorly.
People have short memories. When you're going to shut something down, you really should put up a HUGE javascript timer at the top of the page saying:
83 days, 14 hours, 23 minutes, 11 seconds until this site shuts down. Contact me if you can take over maintenance.
Unless it's constantly in their face, they won't feel the urgency, and so they won't act.
However, now that Dave's said "time's up", the urgency is felt, but there's nothing people can do, thus their frustration.
You can say "The users should have known" till you're blue in the face, but so long as you fight against human nature rather than guiding them in ways reinforced by their nature, you have only yourself to blame for the fallout. Such is the responsibility that comes with leadership.
Someone retiring from participation in any particular community has no obligation to enforce any sense of urgency on the remaining people.
This all reads to me as though the "fight against human nature" is revealing more about the currently-offended section of the Scala community that about David. From my reading, he let them know he was out many months ago, and their reaction was "Whatever. We'll just keep freeloading on his time/hosting-costs/sense-of-responsibility." Now their "human nature" lack of urgency has bitten them on the ass, and they're trying to make out like that's not their own fault... Not classy...
Maybe so, but it would have prevented (or at least reduced) the backlash. Many people don't follow all the mailing lists or core-contributor communication channels, so a badge on the page to alert the casual users would have been a nice thing to do. Sure, he has no duty or obligation, but he knew people were using it, so he knew people were missing it, so he could have facilitated a more graceful transition if he wanted to maximize good will.
I couldn't agree less. User's are ultimately responsible for managing their own expectations. The real lesson is about boundaries and that is what David Pollak is establishing in his blog post.
The problem is that this goes completely against human nature.
A leader's primary responsibility is stability. If he can't do that, he's considered by his followers to be a poor leader. It doesn't matter if that's unfair; that's how we've evolved because a leader who brings and maintains stability has historically brought the best chances of survival for the group.
David can post whatever he wants, but so long as he goes against human nature, he might as well try to make a river run uphill for all the good it'll do. All he's doing now is ruining his own credibility in the eyes of those who followed him. It may not be fair, but that's how things work.
One should never take upon themselves the mantle of leadership unless they're prepared to go all the way. That's the real lesson here.
Define going "all the way" in this situation and cite specific examples when this worked. And write about what he did that "he goes against human nature".
"going all the way" means bringing the endeavor you are leading for to a stable conclusion. A leader is most strongly judged based upon his ability to bring and maintain stability. David failed here because he didn't keep his followers' minds upon the inevitable instability that was on the way, so as to prod another leader to step up to the plate. He did "kinda" with a few posts, followed by talks with a couple of individuals who didn't work out, but it comes off as half-assed at best. This was followed by an "I don't owe you a thing" rant which only makes things worse.
An example of good leadership would be Joseph Stilwell, who led an entire Chinese village through miles of jungle so that they'd be out of the way of the advancing Japanese army. He didn't have to do it; standard practice was to just get the hell out of there and leave the collateral damage behind. But he did, and he suffered greatly for it trying to herd along a group of people including elderly, pregnant, sick, and miserable, who slowed the whole thing down, with a serious risk they'd be overrun. He technically didn't owe them a damn thing, and could have at any point said "screw you guys, I'm going home". History wouldn't have judged him for not leading them to begin with, but it would have judged harshly if he'd only led partway and then abandoned them.
David went against human nature by only posting about an impending end a few months before it occurred, and not giving constant reminders that the end was coming. Technically, he already did more than he was "required" to. But people forget, or people are not privy to the communication at the time it was broadcast, or some other number of things happened where the urgency of the message was lost. That's technically their own failing and David technically doesn't owe them a thing (as he points out repeatedly in his rant), but leadership demands much more of a person than is technically "owed". A leader must cater to all levels of his followers, including the stubborn, the stupid, the lazy, the uninformed, and the unlucky, and bring most of them stability.
In this case, stability means a transfer of leadership to another leader in order to avert the inevitable instability of the site just ending.
A site shutting down seems like a very, very stable ending. Anyway his post didn't seem to me like a rant at all. In fact it read as a very mature and well-thought out article. Odd, that you would be offended. Maybe you have some skin in the game?
This is a great example of why large parts of the open source community are complete clusterfucks. There have been some amazing programs and services that emerge from this model, but by and large all projects have the same caveats: Nobody takes overall responsibility, everybody contributor is an unquestionable Jesus character, every contribution is a donation with strings attached, expecting the status quo to be maintained on a popular project is unabashed entitlement.
It's not like his standpoint is wrong, or incorrect, even selfish or unreasonable. Yet it does still damage the community and nobody will take responsibility for said damage. This is why people get paid for things. No matter how altruistic your intentions and actions, if people come to rely on your service then they will be upset and frustrated when it disappears.
TL;DR - He's right, he doesn't owe anyone anything. That doesn't make his actions any less damaging though, and simply glossing over this as "user entitlement" is ignoring a systemic problem with unfunded open source projects.
Actually no, people don't just take their ball and go home like this in funded proprietary projects that aren't maintained by very small teams. If he was a paid for contributor, he would have handed off the domain no question. Because it wouldn't have been his to keep in the first place, it would have belonged to the project collective.
Smaller proprietary get shut down and money dries up, but nobody simply throws a wrench into the machine quite like up and leaving a project but taking project resources with you like that. It simply doesn't happen outside of the open source community, and it is a unique problem. Branding it as a simple shutdown is also glossing over the problem.
Personally I would rather have people contribute to open-source and quit when they want. I rather prefer the "clusterfucks" you mention, versus the alternative.
That's the nature of open-source that people don't understand: it's not about getting stuff for free, although that's a nice side-effect. Instead it's about having the freedom to fork it.
So if you find yourself in such a situation, either donate enough money to keep the maintainer happy or step up and contribute.
> So if you find yourself in such a situation, either donate enough money to keep the maintainer happy or step up and contribute.
I think saying essentially "throw unlimited funds at it with no promise of a solution or 'patch it yourself'" is also simply glossing over the problem. "I prefer it" is a great justification for you, it doesn't solve the issue for anyone else though and it's not a productive line of thinking.
>throw unlimited funds at it with no promise of a solution or 'patch it yourself'
Riighht... because support, contractors/integrators don't exist in the open source world.
The fact that the source is available is just another fallback on top of others. As someone who actually deployed closed source systems in production I can't even begin to describe how superior the opensource alternative is. Basically putting your project at the mercy of some corporate third world tech support department and three layers of bullshit between you and the guy writing code, priced as gold. When you trace down race conditions in binaries/using DTrace and send a detailed description of the problem only to get to some Indian dude who doesn't even understand what you're trying to communicate - "dropping down to source and patch it yourself" is a utopia and being able to hire the guy who wrote it or sent patches is a dream.
So what you're saying is most open source communities are like the onion article: "Report: 98 Percent Of U.S. Commuters Favor Public Transportation For Others" [1]. Someone should step up and provide hosting and maven repos and blah blah blah... but not me. Which makes you wonder if there's really a community or it's just a handful of people donating to charity and a thousand people taking.
I find David's position to be reasonable. Also, if he feels that Haskell (with a little Objective-C glue code) meets his current business and technical needs better than Scala, that is his decision to make, and based on his technical abilities I would bet that he made a good decision.
There's nothing wrong with dropping support, but trying to delete the source on the internet seems petty and completely unnecessary. Some of the projects I use a lot were basically abandoned but left open (hey, Google Code and Github are free); they were later picked up, improved and supported by others. (JS2 mode is the best example of this.)
Also, I really think you should be polite even if rudeness is justified. Of course, being polite does not mean yielding to requests. But that's a different matter entirely.
> trying to delete the source on the internet seems petty and completely unnecessary
One of the beauties of nearly all forms of free stuff is that the source is free. If users are actively maintaining it, they have their own repositories and forks. Even pure consumers will have their own copies of the source. I will not disparage the motives of people who give me free stuff and then decide for themselves how they wish to discontinue giving me free stuff, but I will say that removing the source ought to be an inconvenience at worst, and of no great consequence in most cases.
I didn't mean to imply either of you were petty or rude. Rather, I think I'm just reacting to the prevalent idea around here that it's okay to be a bit of a jerk if somebody else is a jerk first. And while I guess it is okay, I think it is distinctly sub-optimal.
It often bothers me the vitriol that open source projects get for not fixing some bug or even add some feature that certain user considers important. But I don't see a best course of action than simply ignoring them. There's no upside to wasting your time and mental energy replying.
(By the way, I agree with the author. I just think this post is preaching to the choir. The targeted people will just disregard it).
Any large community is going to accumulate some unfortunate people. These people then stand out because they tend to be loud and annoying. Additionally, people are apparently more likely to criticize something free!
So I agree entirely that the best option is ignoring them. If you're a really nice person--and some are--then you would ignore the tone of a reasonable request and do it anyhow. Now, you don't have to, but that's the beauty of open source: freedom. You never have to do anything.
I suspect that this post is the result of a little bit of undeserved, subconscious guilt. I know that when I feel guilty despite clearly being right, I become defensive; I could certainly imagine a similar reaction here. Or it could be something else entirely.
I agree, but only up to a point. When a book is advertised as part of a series, that is in effect a promise that there will be a series. Otherwise it's false advertising.
On the face of it, this guy seems reasonable, just a little harsh. Sounds like he has good reason to be a bit harsh.
Seems to me that what we have here is a techie programmer type who does not entirely get customer relations, and hasn't managed to shape the message that well. Which is pretty much as it should be, the two skill sets don't usually collide. And I suppose why companies that can afford it get customer relation advice or employees. Perhaps some of these groups or what ever, should look for volunteers who do understand PR. Maybe they would be looking to bring this open source spirit out side of tech related areas.
Lift really lost traction over the past year. I think he is put off that his project and involvement in the community is being disregarded for other alternatives, seeing his star falling I think he jumped to his next thing ( Haskell and Obj-C apparently )
In programming you don't have to be monogamous, you can select another tool for a certain job without implicitly saying that all the stuff you used before was worthless crap.
It does not mean anything, it means at most that he doesn't think it is a silver bullet.
Seems a bit pretentious saying the domain 'can't be priced' while shutting everything down at the same time. He's gonna take his ball and put it in some closet for eternity, and it sounds like he doesn't really care if anybody else wants to play with it. Yes, this is his 'right', it's also pretty lame.
That's exactly what I'm trying to say. He is leaving his Lift community to do something new and doesn't intend to do the hosting work anymore. That's completely acceptable.
What makes me confused is his determination to prevent anyone else from taking over the service he doesn't want to do anymore and basically forces everyone to rewrite massive amounts of documentation, package names, source code, maven xml files, build files, etc. for no real gain.
David Pollack created lift. He also created and ran scala-tools.org, a maven repo and documentation host for scala stuff. He's recently decided to transition off much of his scala involvement, in part because his new startup visi.pro uses neither scala nor the jvm.
Several months ago he asked for help taking over scala-tools. There was not much response, and amongst the handful of people who stepped up, there was some sort of personality conflict.
In response, he temporarily shut it down and is transitioning the site to new hosts and maintainers. The internet is pitching a tantrum. Pollack is put out, since all the whiners where invisible when he was asking for new maintainers several months ago. Also, whiners who neither helped then and aren't stepping up to help now reek of entitlement: what right do they enjoy to Pollack's continued donation of time and money, just because he historically provided something the community liked?
Apologies in advance for a comment that adds no value, but I feel the need to say it:
Thank you for summarizing. As someone who is not nearly as technical as many people on HN, I really appreciate seeing a summary of an article that can cut to the chase and hep me understand what's going on.
While I think he has all rights to feel insulted by an individual, I think holding the whole community responsible for that individual and threatening to use the site for damaging the reputation of the Scala community as a whole is a bit too much.
As far as I have seen until now the community feels different.
>> And maybe I missed it, but I didn't see anywhere he threatened to "use the site for damaging
>> the reputation of the Scala community as a whole".
> My way of working through my sadness about opportunities lost, my way of
> mourning these losses will be expressed on scala-tools.org. I will use
> something I had a mighty hand in building to express sadness about what
> could have been.
and
> I am not retiring the name. It will be a place that mourns the loss of dignity that the Scala community is suffering.
But this wasn't the first blog post with non-constructive criticism, (rambling, ... whatever you want to call it) and a deactivated comment system.
When I complain, I leave at least the feedback channel open. Otherwise it isn't quite surprising that some people are unable to fit enough diplomacy into 140 chars. (Which cannot be an excuse if there were actual insults (which I have not been able to verify yet), but the Twitter stream tells a lot about the other way around at least in one occasion).
In the end, I think it comes down to the usual political/financial stuff:
- Excitment about Lift cooled down and some people changed their opinion from "uber-cool" to "interesting, but a lot of misuse of the programming language"
- Typesafe partnering with Play! instead of Lift
Which more or less fits with his comments about selling the domain. Who - except Typesafe - would have the money to buy it?
> But this wasn't the first blog post with non-constructive criticism, (rambling, ... whatever you want to call it) and a deactivated comment system.
Given the hostile responses he's had on Twitter, I can't blame him for not allowing comments on his blog. This doesn't help repair the already bad reputation that the Scala community has.
He doesn't owe scala-tools.org to anyone for the same reason he doesn't owe readers of his blog comments: it's his blog, his rules.
This. He reads like a 14 year old boy who's been jilted by his first girlfriend. Do grown mean really need a website for "working through my sadness about opportunities lost" when they change primary programming language?
He's such a source of drama; the Scala community is better off without him.
The response to these incidents is depressingly predictable. "Yes he has the right to shut it down, but..." -- no, there is no "but".
Consider this: An employee quits his job. Do you say "Yes, he has the right to quit, but..."? No. There is no "but". He has the right to quit, period.
Involuntary servitude isn't allowed even when someone is getting paid for it, what the hell makes you think it's acceptable when they aren't, and are even investing their own resources?
He's not being a jerk, he's not being harsh. His right in this matter is absolute, and he's already given the community more of an opportunity than was necessary -- legally, ethically, or socially -- to step up. He has no obligation of any kind to keep putting his time and money into it. If you want slavery, build yourself a time machine, don't demand that he do it for you.
I didn't see he forgot to return the keys (owned by the company). He asked for help to transition it off. No one came, so he just shut it down.
Yes. I can see how everyone's life is a bit harder since he has stopped providing free product and service for them. Well, they had a free ride to begin with.
I believe it is you missing the point. They're his keys. If I quit the company I'm working for, they can't just take all all my keys because at some point they gave me some.
This is no different than my old neighbor, Mr. Taylor. He used to let us use the pool in his backyard until one of the kids pooped in it. He stopped letting those kids come to the pool.
It's his pool, and it's his choice who can and can't use it. In this case, David Pollack has just decided nobody can use the pool, and he's put a fence around it.
You're just pissed you can't use the pool for free anymore.
I just think that his behavior is intended to maximize the potential damage to everyone, he is well aware of that and does it on purpose, because someone hurt his feelings.
In my opinion there are other, more constructive options available.
Can you prove that? I'm not familiar with the Scala drama.
Even if that innuendo is true, why don't you blame the one who hurts his feeling? Instead of blaming him. Open source developers are human, too. They have taken on far too much abuses from ungrateful users.
I don't see the need for David to be a doormat to every abusive user out there. I would snap too and say fuck it, you guys are on your own.
After people finally figured out that he was leaving (almost no one knew of that) they offered to take over the complete responsibility, what happens? Suddenly he wants to keep the domain, forcing everyone to pull and update their documentation, packages, artifact IDs, Maven POMs out there, because they can't use it anymore.
And the promised transition of accounts to another provider just won't work for all people who entered an id of "org.scala-tools", because most other providers require that the person publishing an artifact also controls the domain name.
The whole thing is basically maximized for pain and wasted hours of transitioning, migrating and repacking.
Have a look at http://news.ycombinator.com/item?id=3495303 for the circumstances how he "told" everyone he was leaving. I visited the Lift IRC channel an hour ago and asked what their stance was on Pollak leaving Lift/Scala. They had no idea and asked for a link. So much for "nobody stepped up for maintenance". Of course nobody can step up if nobody knows.
It is not acceptable that someone who expected that he would transfer the domain to the people maintaining it insulted him, but how can this be communicated to that individual if no body knows who it was. "Somebody insulted me" doesn't help to resolve that matter.
> After people finally figured out that he was leaving (almost no one knew of that) they offered to take over the complete responsibility, what happens? Suddenly he wants to keep the domain
This is in complete contradiction with what dpp said (he asked for help a few months ago and nobody answered). So either you or dpp is lying.
Considering that his call for help is well documented, I think you are the one spreading false information.
The "keys" in this case are his own property, and any banners he might want to put up are being put up on his own property, so your supposed point makes no sense.
So you would expect to be totally within your rights if you would register windows-tools.com/net, ipod-library.com/net and use these sites to damage the reputation of the mentioned product?
You seem to be stuck on the idea that there's some sort of legally-enforceable trademark at issue, but you've provided no evidence of it. To even begin to claim a trademark, you must assert it, and I see no evidence of anyone asserting such a trademark. To actually enforce it in court, registration is required in the US and I'm sure at least some other countries.
You also have interpreted his statements as saying he will seek to harm the reputation of Scala, but his statements only imply that if you assume the worst about people. In other words, you're projecting.
Apart from that, registering multiple common scala-* domains and then making them point to his blog instead of something actually related to the topic is pretty much the definition of domain grabbing.
Sure, he can do it and figure out if he gets away with it. But in my opinion it is just ethically and morally wrong to register domains which with popular names which are expected to be used by Scala-related projects and keep them to punish the whole community for something a single person did.
You realise you're sounding a lot like you've never had to deal with the problems of the effectively single dns namespace before?
Trademarks don't automatically apply to domain names - since ordinary trademarks apply to a narrow protection of people offering "that same type of goods or services". ("Generic" trademarks exists, but need t meet much wider standards of public recognition than Scala-as-a-programming-language has.)
Apart from trademark disputes, which "The Scala Community" have no chance of winning here, domain names have _always_ been first come first served. If _you_ thought scala-tools.org was a worthwhile asset, you should have registered it before he did. Same with any scala-* domain.
Feel free to get huffy about whether or not you think he should have done things differently, but trying to frame this as some sort of abuse of domain name ownership is, frankly, naive...
I have no idea what your problem is, but feel free to completely ignore what I have written and write down your ramblings instead. The net is big enough for everybody, right?
He has the right to quit, but the domain is a .org, and its name is not his but that of the language; it should belong to the community. If he wants to stop running it that's fine, but he should let it lapse or sell it to someone who will maintain it for the community, not turn it into something else.
That has no particular significance. The Big Three TLDs haven't had any special requirements or policies in many years.
> its name is not his but that of the language
The language's name is "Scala", not "scala-tools.org", but let's assume you just think any domain with "scala" in its name is effectively the name "Scala". I have some news for you:
"Scala" is also the name of a typeface, the student chapter of the American Library Association, part of human anatomy, a unit of area, a couple of music albums, a software company with no connection to the programming language, a couple of entertainment venues, two locations, a surname for I-don't-know how many people, and a snail.
> it should belong to the community
A "community" cannot actually own a thing. Who exactly do you think should have the domain? Who represents "the community"? And why exactly does this amorphous "community" have some special claim to one of an infinite number of domains that might be used for similar or entirely different purposes?
>"Scala" is also the name of a typeface, the student chapter of the American Library Association, part of human anatomy, a unit of area, a couple of music albums, a software company with no connection to the programming language, a couple of entertainment venues, two locations, a surname for I-don't-know how many people, and a snail.
disingenous. He's not talking about repurposing the domain for any of those things.
>A "community" cannot actually own a thing. Who exactly do you think should have the domain? Who represents "the community"?
Once the community gets sufficiently large, a formal foundation like apache or the python software foundation. (Obviously for practicality it's fine for the domains of a smaller community to be owned by individuals, but they should act as custodians)
>And why exactly does this amorphous "community" have some special claim to one of an infinite number of domains that might be used for similar or entirely different purposes?
If you call your domain scala-tools and your site becomes known as a place to get scala tools you have a moral obligation to keep it about scala tools, or give it up and let someone else use the name. Doing otherwise would be cybersquatting - scala-lang may not be a single person's name, but it still means something.
I think that is one variant of his point and you have completely missed it. Who in the "community" should own the "trademark"? Did someone register it? Do "they" represent the community?
I can find no evidence of anyone registering "Scala" as a trademark for a programming language. www.scala-lang.org never indicates there is a trademark or uses any usual trademark symbol.
I expect I'll be receiving an apology for your condescending assault on my intelligence?
The less he is involved in the scalar community the better. Yes he is right no one has any inherent right to his work or his infrastructure. however he treats the site like his gift to us simple mortals. Here is why people are upset ,because that was a maven host for a bunch of scalar software and instead of transitioning it to a new owner he said no its mine now I paid for it find your own domain, ohh and by the way rewrite all your code and documentation and tutorials to point to another site because I want to be paid for the community others created around my hardware and domain name.
Again he has every right to do what he is doing its his stuff , but its still a very disrespectful way he went about doing it.
No he didn't. there was no call to transition. There was this statement.
"The Scala community should be serviced by the company that is making money off the efforts of the Scala community, Typesafe, rather than a bunch of people contributing thousands of dollars a year of hardware and bandwidth and time to do something that could be done by the commercial Scala entity."
Combined with this statement
"Whatever I think that monetary value is, it's likely a few orders of magnitude more than others think the value is. It's not even worth, in my opinion, trying to price it."
This is about money and the lack of it going to Pollak for a site whose sole value is that it is used by members of a FOSS community. There was no call for transition people would have stepped up for that. What there was was a call to keep running _his_ site for _him_ and keeping the ownership and value in _his_ hands. I can understand why people didn't jump at that opportunity. If he would like to transition the domain and repositories to community ownership and no one stepped up to administer the site then more power to him let it go dark, but there are plenty of people willing to host and administer the domain, David isn't interested in them.
People have short memories. When you're going to shut something down, you really should put up a HUGE javascript timer at the top of the page saying:
83 days, 14 hours, 23 minutes, 11 seconds until this site shuts down. Contact me if you can take over maintenance.
Unless it's constantly in their face, they won't feel the urgency, and so they won't act.
However, now that Dave's said "time's up", the urgency is felt, but there's nothing people can do, thus their frustration.
You can say "The users should have known" till you're blue in the face, but so long as you fight against human nature rather than guiding them in ways reinforced by their nature, you have only yourself to blame for the fallout. Such is the responsibility that comes with leadership.