View Single Post
Community Council | Posts: 4,920 | Thanked: 12,867 times | Joined on May 2012 @ Southerrn Finland
#15
Originally Posted by pichlo View Post
Interesting. To me, the meaning is exactly the opposite. When you buy something, you own it. When you pay for the work to have something done, you do not necessarily own the result.
This discussion is very good, it does bring out new and interesting sides to the problem domain!

Originally Posted by pichlo View Post
Again, the idea may look nice on the screen and may appeal to the Stallmans of this world who believe that software is somehow "special" and that it should be "free". However, software is just another product, not much different from bricks or cars.
I agree with you here, SW is not that "special", but indeed it has been treated like it would be!

The bricks/building/house analogy is pretty good way to describe it really.
A customer wants to build something, let's say a brand new communal health center for example. First it is specified, then an order process is used to select a contractor who will build it, with own subcontractors and agreeable materials in agreed timeframe, if everything goes right. In the end the customer owns it all, materials and functions.
Now, say after few years it needs to be extended, because dentists are also moving in the same house. No problem, again a specification/order/build process is executed, and the extension is built, but not necessary by the same contractors!
This can be done because design of the hospital is "Open Source" and it does not require use of some specific bricks that are produced by black arts in some highly secured witch tower!

If this was software and not a building, for some incredible logic it is fairly acceptable to build it from completely opaque things protected by complex layer of handwaving designed to make it so that nobody but the original contractor can do any maintanance or extension of it

Originally Posted by pichlo View Post
You can buy a car or lease it. Which one is better for you depends on your specific circumstances. You pay more overall when leasing the car than when you buy it outright, but it may be cheaper to lease if you for example only need the car for a limited period.
Indeed, leasing something is good if it is a throwaway-by-design; Company Cars are a good example, it is easy to lease the fleet when you do not need to care about maintanance/expandablility, the leased cars are replaced in 2 years by new models.
In fact you are not intrested about the cars at all, only about the mobility they provide.

Originally Posted by pichlo View Post
You have provided some good examples, now allow me to provide a couple.

Let's say I am a small, local software company and I have applied for a tender to provide an integrated parking payment system for the whole district. The system should incorporate ANPR, link to the national vehicle licensing agency, have multiple payment options including in-situ payment terminals, remote credit-card payment by phone, and account payment by direct debit. Some of these functions are interfacing other public institutions (the licensing agency) and, if your initiative had been in place for some time, may be already open. But let's say the initiative comes to force tomorrow and it will take the licensing agency 6 months to open the interface. Can my local council accept a 6-months' delay? Other interfaces may not be open at all (any of those interfacing the banks) and are subject to NDAs.
Very good case, I'll try to reason my way through it.

First, let's assume the system will be built as open source project, using existing open source components where applicable and creating the new components as open source from the start.

If the ANPR system to be used is an existing commercial component there is no problem using that, by definition it must have some open interface to input picture and get as output a string of characters and an uncertainity assumption. Fine to use an existing component if it has open interfaces.

Same goes for the payment systems, banks have well-defined interfaces for payment handling and current EU legislation is demanding the interfaces to be opened even more.

About the delays of getting interfaces working, that is something that affects the development whether it is Open or Closed source, if interaces just don't exist they cannot be conjured into use by keeping development in the dark.

Originally Posted by pichlo View Post
And lastly, I did not develop the ANPR system myself, I had to license it from someone who did. I cannot simply release the source willy-nilly.
Of course not. That is something you run as a separate component in a separate environment. I'd say a system like that is not provided as a linkable library anyway, it is a separate thing with user/control interface and internal databasa, something you want to set up in a separate VM.

Originally Posted by pichlo View Post
What you are saying is that, basically, I am out. I need not bother to apply.
Absolutely the opposite, when such system is specified correctly it will make your work much simpler and easier to maintain and support, both for yourself and the customer.
Imagine if you had to write your own ciphering and encryption algorithms from scratch instead of using ase and openssl? Is that really your core competence and worth it?

Originally Posted by pichlo View Post
Another example, I am a large company that has spent years and millions of pounds/dollars/euros developing said ANPR system. Now you are expecting me to just give it away? I will just show you the middle finger.
That would be absurd, nobody is demanding anything like that. As I said earlier, it is OK to use closed components if all interfaces are open. All instances of a system like you describe that I have come across have nowdays well-documented REST interfaces, that is how the vendor can get his piece integrated in as many systems as possible.
 

The Following User Says Thank You to juiceme For This Useful Post: