Why would anyone want to open source something they don't view as a community effort?


#1

Continuing the discussion from Standard Markdown is now Common Markdown:

Indeed… Why?

After scanning through the whole Grubber discussion, that was my main take from it - he seem to not see it as such indeed (secondary one, as Jeff pointed, is he “views ambiguities as a feature.”).

But also I find it a great question! Anyone got a good answer?


#2

There’s tons of reasons to open source something, and not all of them are about the community. One is to get fame. You’ll be able to take any job you want if the interviewer has heard of one of your projects. Open source spreads faster, so if you don’t see money in it, make it open source so at least you get users and fame.


#3

True…

But, even then, you still directly want the “community effort”, to make it spread. You wouldn’t want to shoot the community down or anyone who wants to contribute in any way.

I think the core of any open source is authorship recognition, indeed. Isn’t it? That seems like the first step. Then, to be recognized, you need a community.


#4

Yeah initially. But you want to keep the credit maybe. And once something has a community you don’t have to work to spread it. You have to with if you want to keep the credit


#5

Well… If you agree with that, then the 1 reason you brought out of the “tons of reasons” isn’t really a good one for the original question. We’re agreeing “if you want to get fame” through open sourcing, you still need to view it as a community effort.


#6

Most open source projects aren’t community efforts. They are maintained by a single user or organisation. You could open source simply so that others can make use of segments of code. Or so that when you leave the project someone else could take the torch.

Some open source simply so they can say “go fork yourself” when they don’t feel like adding a feature.


#7

That is a community effort. A community can be made of 2 people only. Plural start at 2.

And there is the effort of making a community. “Others can make use” you’re trying to reach out. “someone else could take the torch”, you’re seeking people. “go fork yourself”, even if it isn’t big, it’s still a community effort!

Defining words is really really hard… Maybe all those are just my own. :wink:

Anyway, in this topic, I’d hope the contributing community would be bigger. :stuck_out_tongue:


#8

“Open source” does not necessarily equal “collaborative”. What it means is that the source code is available for others to inspect and use to create derived works. It does not require that the licensors allow anyone to help them make it.

Here are the criteria for what open source means, from the Open Source Initiative: http://opensource.org/osd-annotated


#9

Oh, I see… @mirhagk did say that, I didn’t catch it in this way.

Keyword there is derived. Create derived works. It could be non-collaborative indeed.

So if you don’t want collaboration and open source your code just so others can fork it, you do want some kind of community effort - just none from your part and none in your code.

I guess that makes sense! :slight_smile:

@downey’s answer accepted.


#10

For the record, folks interested in this should read “The Cathedral and the Bazaar” by Eric S. Raymond. This early and important work behind the idea of open source software suggests that the more people collaborating in its creation, the better software will be produced.

I, for one, agree. :smile:


#11

As long as it’s well moderated! :wink:


#12

In the early days of computers it was perfectly normal to get the source code with commercial software eg your bought and paid for IBM accounting system. Software was perceived more as an application of hardware than as an asset in its own right. The idea that you don’t get source arrived about the same time as Microsoft, not because Bill Gates is in some way evil but simply because this was the dawn of the era of shrinkwrap software and commodity hardware. Prior to this, software was specific to an installation and was riddled with hard-coded references to devices. Before you pass judgement on this it is important to realise that the source code was essentially a configuration file for the hardware, and it was seen and used that way. Which is why you gave it to the customer.


#13

So you’re saying giving out the source as part of a hardware isn’t a community effort. I suppose that could make sense. It was just a courtesy and part of the product… But that’s not what we mean by “open source” today. It was probably still ilegal to copy that source, since it was a commercial product.

But he was evil regardless! :stuck_out_tongue:

That’s why he’s now trying to balance it out.


#14

“Open source” means source code is made available. It has that meaning and no other. Microsoft made quite a lot of the source code for the dot net framework available to the Mono developers, and gave them permission to use it in ways that are normally precluded as “derivative works”. The intellectual property remains Microsoft’s. MS also made the source for the dot net micro framework available for commercial use royalty free on embedded systems.

Perhaps you were joking about Gates. I hope so, otherwise it’s an asinine statement. Gates was a sharp businessman who ruthlessly protected his commercial interests, but he was a veritable saint compared to Steve Jobs. Or Larry Ellison.

As regards your original question, in a modern context one might provide the source

  • when a product is end-of-life
  • to limit liability for software provided on an as-is basis
  • because you’re tired of answering questions and you’d like to move on to something more interesting
  • to teach
  • as a kind of philanthropy
  • to publicly demonstrate your technical chops (being even slightly famous helps getting jobs)

There are other less commendable reasons. Sometimes FOSS is made both free and open source to spite someone by deliberately destroying the commercial viability of their market. For others it’s a religious thing.


#15

You must hate wikipedia, for it doesn’t agree with your definition craved in stone:

Maybe I lacked definition to what I meant by “community effort” there as well, which could be slightly different than what Jeff meant. From my “accepted answer”, I’d say I meant “collaborative”.

As for your list, I see it almost as confusing as your “open source” definition. And I kind of identify with it, as often I am myself very confusing. I’ll add downey’s to it:

  • to allow derived works
    You want people to use it at their own will, and you want to see how it goes, but you want nobody messing with the core. This could work as good marketing, researching or just out of curiosity. Not quite so collaborative if you don’t join the community, like Grubber’s case.

  • when a product is end-of-life
    So, give it up and throw to the internets. Indeed, not collaborative, though it could be.

  • to limit liability for software provided on an as-is basis
    Agreed again. “Use it at your own risk, I don’t know what will happen, don’t blame me, here, take everything out of my hands”.

  • because you’re tired of answering questions and you’d like to move on to something more interesting
    Basically the same thing as above.

  • to teach
    I would disagree. Teaching is a collaborative effort. Specially true if you’re one to one. If it’s with more people, then it must become a community collaborative effort, or else it isn’t teaching. It’s preaching.

  • as a kind of philanthropy
    To me, there is no such thing as “true philanthropy” and if you’re doing it you probably want to collaborate in some way, even if not actively participating. If nothing else, you want to “feel good” about doing it and, for that to become true, you want to make enough community effort into making something good for the community.

  • to publicly demonstrate your technical chops (being even slightly famous helps getting jobs)
    Fits in the first “allow derived works” case.

Thanks for the list, though. There are many shades of grey indeed! :slight_smile:


#16

Well, that’s how OSI defines it. Open source (without capital letters) existed long before JWZ, even before RMS (although I know that’s blaspheming to all you GNU/Linux kiddies in the audience) and it pretty much just means “users can get the source code.” UNIX was originally “open source” according to this definition; I still have a copy of the Lyons book lying around somewhere on a QIC-150 tape. When I started working on “open source” in the late 80s (on smail and pathalias) we very much agreed in the community sense of open source.

Terry Lambert once described the ideas behind releasing a commercial product to the open source world as “enlightened self-interest.” He said this in the context of releasing drivers for FreeBSD, but it applies to any similar product or feature: release it to the community with the idea to drive sales of your hardware, and to get the community to take on the support burden for you.

So there you have it, that’s a reason to release a product to open source: enlightened self-interest.


#17

Open sourcing something is also great for allowing anyone to audit your work.

Its sort of a security feature. Earning trust is good, but its amazing if you don’t need to trust me. Use the installer or compile it yoself, whatevs~