5 ms·
One problem is that if you’re working in an interpreted language such as PHP then your code isn’t compiled This has always bothered me -- the theory that compi
by Xurinos 17y ago
One problem is that if you’re working in an interpreted language such as PHP then your code isn’t compiled
This has always bothered me -- the theory that compiled code is not also code. It is a language that can be interpreted by the OS and anyone else who is familiar with it. This is not a skill most people have, and byte code is not English, but it is code nonetheless. It is not magic, specially sealed, wrapped in a black box. I may not have your source code, but your source code is just your view of the same program. Even your source code could have a pretty printer applied to it so that you edit it differently from other developers on your team -- developers who use different syntax highlighting schemes already do this to aid their mental interpretation of the same code language.
I am annoyed by usage licenses with the warning against using disassemblers, as if someone has the right to tell you what kind of viewer/editor/OS/program you are allowed to use to translate/interpret the byte language. They never say, "You are not allowed to open this in a hex editor or notepad". This is an attempt to sell air and trying to seal it with more air, but it also misses the point of the software; it is a misleading and even invalid view of the software's actual value.
As someone making money off software, I have never assumed that the software itself held the core value. The value comes from my trusted name, my continued support, and other things I do for the environment of the software. It may even come from the software being necessary for something physical to operate (a robot or firmware on a card). From another perspective, the value is in the physical medium I use to distribute the software so that you can feel more confident in your continued access to it.
Keep in mind that while PHP is not compiled, developers at the customer site could alter the PHP code and add value to the application/package that was sold. They also would have to accept the trade-off: Upgrades get pretty complicated when you mix new code with the local changes. They also would have to spend time to learn the code and support it. This tends to be a waste of resources, and thus the advantage remains in the hands of the active producer.
The value is not in the libraries I distribute. The value is in me being able to easily maintain and support the libraries and the constructs built on top of them, that I can construct a software package and environment that people are more willing to invest money in than similar things from my competitors. If I do that quickly and well, and if I establish trust with my customers, then I will not as easily lose my customer base to someone else.
- fnid2 17y agoI have never assumed that the software itself held the core value. The value comes from my trusted name, my continued support, and other things I do for the environment of the software. This is a mistake a lot of coders make. The software does have value. It's the completed project that solves a problem that has value. If the project is a success and meets the needs of the users, it often matters little who the coder was who built it. The value comes from automating processes, simplifying tasks, and enabling collaboration -- all of those have value regardless of you. Just like a bookshelf has value without the IKEA. Is hacker news great because pg wrote it and can maintain it? Maybe it's a better community because he is around, but it matters little that he typed the keys to make the loops. What matters is that the software has been written and we can use it to communicate. The existence of the software is the value. Of course it takes a certain skill to get a project to completion. That has value up front, but once the project is done, they may not need you anymore -- the software is what they wanted. The same is true of everything else. Is it the furniture maker that is important -- or the table? Is it the running shoe that is important -- or the nike swoosh? Is it the water that is important, or the bottler? You could argue there is a certain level of quality associated with a coder, maybe you, but that quality -- again -- is independent of the coder who wrote the lines of code. If the code is exactly the same, doesn't matter if you wrote it or someone else did. To your other points: Have you ever tried unobfuscating code? It's really hard. Just try unminimizing javascript. It's really hard. It's so hard, you may be better off just rewriting it. Obfuscation does wrap code in a magic, specially sealed black box. That's exactly what obfuscation does. It reduces code to a jumble of wires you don't know where go, encrypted strings, for loops that do maybe nothing or something extra special. Can it be unobfuscated -- yes, but probably not by the client. If you can't write code, you can't unobfuscate it. PHP, while interpreted, can still be obfuscated. People don't really care about the fact that you can create software. They won't pay you for that ability. They will pay you if you create some software for them, but they won't pay you just because you can. Lots of people can, but will they?