Hacker News new | ask | show | jobs
by immigrantsheep 3408 days ago
Why does EVERYTHING have to be opensource these days to be considered acceptable?
3 comments

Because with open source software:

- You can run the program as you wish, for any purpose.

- You can study how the program works, and change it so it does what you want.

- You can redistribute unmodified copies without fear of the publiher suing you.

- You can distribute copies of your modified versions to others without fear of the publiher suing you.

Who wouldn't want to have all that in a tool that will be the basis for your own projects?

I understand when we're talking about crypto or security. You want your data to be safe. You want to know that it is what they're selling. But this? A guy is building something that might be cool one day. One should he make his engine/IDE opensource? He can but doesn't have to. I don't see people screaming why SublimeText, AbletonLive, Photoshop or many other tools aren't open source. There is still that thing called commercial software and some people make a living out of it.
SublimeText, AbletonLive or Photoshops are not platforms where you create an automated software artifact that runs on top of the tool. On top of a programming language, however, you depend on the tool being always available without major changes for as long as you need it to remain stable. This is not guaranteed on a privative development platform. They are simply not in the same class of products at all.

In all your three examples, the product they create is detached from the creation platform before release, and that product (text, music, images) is compiled/played/displayed on a different application; an also there are many alternative tools where the product could be processed if the original tool ceased to exist.

So there's no fear with those that, if the tool creator begins imposing more and more restrictions, you'll be locked-in. But a unique programming language for which your code can't possibly be ported to a competing platform? One would be stupid to develop for it anything requiring ongoing commercial support, beyond some cool tech demos.

Stupid as all those people building games with Unity? Or all those people who used to use Unreal/UDK before v4 while there was no source code available?

Anyway not here looking to start a flame war. My point was that the product can be good or bad and it doesn't have anything to do with it's source code being available or not.

My 5c. Everyone feel free to disagree.

Both Unity and UDK recognised the benefits of open source, and have OS components.

A product can be good or bad without OS. So long as you can deploy what you make with it effectively.

Sometimes that means mindshare, like UDK and Source.

Sometimes that means complete decoupling tooling from code like Sublime and Atom.

Sometimes it is more about the deployment, like Visual Studio and Unity.

However, to stand out, this product needs one of the above.

It's new, and doesn't seem to be backed by a big name, so no mindshare yet.

So they need to somehow make devs want to use it for their code. A nice experience is usually not enough.

An OS community, or a fantastic cross-compilation strategy are the only two things that I, personally, have seen work.

OS seems to be the easiest of the two.

> So they need to somehow make devs want to use it for their code. A nice experience is usually not enough.

While I side with your central argument, there are numerous cases where the above is absolutely enough.

Games is one kind of software where you usually won't expect to keep your code base maintained 10 or 20 years from now. So far for the "stable platform" argument where you as a user wouldn't want anything less than open source code, unless forced to use proprietary code for external reasons.

There might be a cost/benefit analysis where some closed platform is extremely far ahead in every other aspect, but you should be very well aware of the risks of being tied to that platform.

Even through I love open-source, I can't argue this point.
But what if you write it?

I'm happy with non-commercial use (including providing the source), but if someone wants to make money from software I write, it's only fair that they should pay me, and under the open source model they don't have to, and usually they won't.

That argument is convenient for you, but how is it convenient for the people using your code?
The only people who would be inconvenienced by it are those who can make money out of it. Anyone who agrees not to use it commercially can still receive it, source included, gratis, when it's ready for release.

If a commercial user likes my software they can pay for it or hire me. (I'm available). Is that too much to ask?

But what if:

1) you become unavailable?

2) you don't have the physical capacity to develop everything that the client needs?

3) you don't want to implement some feature that the user needs, for reasons? (related to the software architecture, or the direction you want the project to take, or whatever).

Open source gives the commercial client the flexibility to adapt the code to their uses, in a way that being tied to a single provider will never achieve.

Why do you think companies should have software developed for them by third parties for free?

If they pay for it, they'd have the source, and would be able to modify it for their own needs but not release it.

So that companies which haven't made any contributions to the code or its development can profit from it, presumably.
Because too many projects fail or get abandoned and I will not invest in a project that may not exist next week.