Products > Test Equipment
EEVBlog 121GW Multimeter Firmware Details
<< < (11/62) > >>
amspire:

--- Quote from: Yannik on February 15, 2018, 10:36:58 am ---With a GPL license, UEI and other companies can still use the code. However, they need to share their improvements to the code, which is just fair. Therefore, I strongly support the use of a GPL license for this.

--- End quote ---
If for internal reasons which is their business, UEi just cannot GPL code, is it better if they can make use of our code and so everybody gets our improvements, plus their secret source, or is it better that they ignore our code.

In projects like this, there will always be one person who does the bulk of the work and I am totally happy if that person picks any license they want to. However GPL is open, but it is very dictatorial. There are many open source projects that pick permissive license for the reason that they want others to be able to use the code without any demands. It may be UEi have some secret source relating to their in-house calibration methods that they absolutely cannot make open source.

Remember, UEi are giving us something - they designed the meter with the features Dave asked for and they have given us the schematic. Through Dave, we have direct contact with someone who can talk to the developers. That is probably more then any other multimeter company has given. We want to encourage UEi to continue to make the meter, otherwise any code we produce will only be useful to a few hundred people (assuming most only use official firmware) and the project may die in a year or two.
glarsson:
The GPL license also requires them to share everything the GPL code is linked to. In the case of this multimeter it is everything. If they can't share everything (licensed 3:rd party libraries) then they can't use the GPL code, will not make improvements and have nothing to share. A loss for everyone.
Brumby:
There is an alternative...

They can take the improvements as seen from the User perspective - and then code their own changes to deliver the same, or similar (or better?) benefits.

While they may not have the benefit of the coding, they will have the benefit of knowing something is possible and - as is typical of this community - the issues addressed along the way.

As a further advantage and incentive - by seeing what features/fixes get support here, they will have a better idea of what is worth the effort.
cjs:
One more thing to keep in mind with your license:

Unless you're getting copyright assignments for all contributed code, that code not assigned to you or your project remains owned by the contributor and only he or she can relicense it under any other terms. Once your project starts to grow this can effectively preclude changing the license even if everyone agrees that they want to change it. This happened to us with NetBSD; although everybody wants to move all the code to a two-clause BSD license (in part because the advertising clause of the 4-clause license is especially annoying) there is a great deal of code that cannot have the licence changed because we can't track down the owners of the copyright. (The owner may not even be the author, such as in cases where the author is deceased.)

Regarding inability to use GPL code, that can go beyond amspire's points that a company may have internal reasons that they don't want to open all the source in their devices. Source code licensed from external vendors may not allow it even if the company would prefer to do it. Or, worse yet, certain open source licences are incompatible with the GPL, meaning that there are cases where you can't combine code from two different open source projects.

Personally, as someone who's been writing both opens-source and commercial software for a couple of decades now, I use GPL and accept only code with a copyright assignment to me when I'm interested in preserving my own ability to exploit the code commercially at a later date. The GPL in this case is essentially a commercial profit protection mechanism. If I don't anticipate that I'd want to commercialize a product, I use a much less restrictive license so that the code can do maximum good in the world.
amspire:

--- Quote from: cjs on February 18, 2018, 05:20:31 am ---Personally, as someone who's been writing both opens-source and commercial software for a couple of decades now, I use GPL and accept only code with a copyright assignment to me when I'm interested in preserving my own ability to exploit the code commercially at a later date.

--- End quote ---
If the GPL license is used, this is the exact model I would like to see. Almost certainly, one person will be responsible for making this code into a quality reality and they deserve to have the copyright assignment. It would mean that they would be able to offer companies an alternate paid commercial license if that is what the companies need.

It might be that the SQLite3 model is the best one to follow. SQLite is open source but is not open contribution. They do not even accept patches. With this model, anyone can go and make their own variant, but if you want to use the official SQLite code, you are using code that has almost fully been written by just two people.

With one person or one team writing the 121GW code, you can get a consistent coding quality and the finally reliability is totally in the hand of the programmers who know the code the best. They can take suggestions and bug reports, but they then make the changes themselves.

One direction this code could go would be towards general purpose multimeter code with a big config.h file which allows you to set pin assignments, multimeter A/D chip choice and so on. The code does not have to be only for the 121GW multimeter. Something like the OpenWRT project that at the start only worked on one Linksys WRT54 router. Now it works on many different processors with many different chipset options.
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod