On 10/10/2021 22:24, Oleksij Rempel wrote:
Am 09.10.21 um 13:13 schrieb David Brown:
On 08/10/2021 13:10, Antonio Borneo wrote:
On Fri, Oct 8, 2021 at 12:36 PM Christopher West
<cw...@thedigitaledge.co.uk> wrote:
That's a shame some vendors are so anti-users that they do not release
useful documentation and code for their tools. Guess they should be
boycotted especially given other much more friendly tools and vendors
exist.
It's a shame but I'm stuck with this one as it was just in my price range and
as it had pyocd support I thought I could easily port it.
From the "advertisement" in their website it is supposed to be a fast
adapter (didn't dig more to find how much fast) so it could have been
interesting to have it in OpenOCD.
But the license is a blocking point. GPL-v2 code cannot be linked with
nor can load and use a library that is incompatible with GPL-v2.
That is not entirely correct. (Note that IANAL - and this is just my
two cents, as an OpenOCD user and P&E Micro debugger owner, not as an
OpenOCD developer.)
First, there is no problem if the library in question is considered a
"system" library - otherwise it would be impossible to use any GPL'ed
code on a Windows system. Now, P&E's DLL's are hardly standard system
libraries on most Windows systems, but it /could/ be argued that they
are "system libraries" on a system consisting of a PC with a P&E Micro
device attached.
Secondly, there are plenty of cases of GPL software connecting to
proprietary software as long as that software is not written solely for
use with the GPL software, and interfacing goes strictly through public
interfaces. Binary blob graphics drivers for Linux is an example. Such
cases are controversial, of course.
Thirdly, end-users can do whatever they like here. There should be no
problem having GPL'ed code in OpenOCD that will attach to a P&E Micro
DLL - which the user downloads and installs themselves, independently of
OpenOCD.
Of course it would be best if P&E would release more details of their
devices and protocols, or release interface software under open source
software. But there's no doubt that they make popular and useful
hardware at reasonable prices, and there are many people who would like
to use them with OpenOCD. I know /I/ would (mostly with Linux, but
sometimes with Windows). Licensing, open source code and code freedom
are vital concepts - but so is usability for end users. Where is the
benefit for OpenOCD or its users if P&E Micro owners have to use
expensive and/or inferior hardware and software due to what is really a
bureaucratic issue?
Here are my two cents. I'm open source developer. I do it, because I care about
my freedom. I prefer
to give my personal time to make great GPLed software. I do not do EULA or BSD,
my choice is GPL. I
do not use Windows or Mac.
So, why developers use GPL? Well, mostly to tell in-officially "fuck you, closed
source world!".
P&E Micro made a decision and make closed HW + software. If you, as user say; i
like this HW, but i
do not like this software, so i'll pay this company for HW and SW (yes, you pay
for both), and hope
some developer will make me great soft for free... Do it sounds any how sane?
If you do not like the software of this company, why do you pay for it? The
only feedback working by
any company is money. If you pay for it, then every thing is great, why should
we change anything?!
So, if OpenOCD devs decided to take GPL and not BSD or LGPL, or EULA. And this
decision was made for
reason, it can't be just boiled down to "bureaucratic issue". The choice of GPL
is a clear message:
"we do not like DLLs!"
Hi Oleksij,
That's fine, and I fully respect that viewpoint.
And of course we can all agree that the ideal situation is for P&E to
document their protocols and interfaces, and to release their libraries
under the GPL, or at least GPL-compatible licencing.
I am a great believer in balance. I think everyone has to find a
balance between what they see as important principles and what they see
as pragmatic and practical - because we don't live in a perfect world.
And I think software projects need such balance in the people involved -
they need some that are committed to principles of freedom and openness,
and others that are willing to find compromises for the good of the
whole project. And I think the software world needs a balance between
projects that are uncompromising, and projects that are willing to be
more flexible.
There is no doubt that without people and projects which stick to their
principles no matter what, the principles would be eroded. We can enjoy
all the benefits of Linux, gcc, OpenOCD, etc., precisely because of
people who put software freedom first, and convenience second. The
software world is richer, wider, safer, cheaper, and better in countless
ways because of free software.
But there is also no doubt that this does not apply to everyone, and
that is also important. Without people making and selling closed-source
software for profit, there would be no software world.
The licencing for OpenOCD, and how strictly it is applied, is entirely
up to the people who write the software. So your two cents are worth a
great deal more than my two cents here.
However, you should be aware that while this is clearly not a mere
"bureaucratic issue" for /you/, it /is/ that minor to the great majority
of end-users. Most software end-users equate "GPL" with "zero cost",
and a depressingly large proportion of software developers equate "GPL"
with "zero cost, and you get the source and can do what you like with
it". (That applies both to developers who /use/ GPL'ed software, and
developers who release their own software under the GPL. Yes, I have
had developers tell me they released their library code under the GPL so
that people could use the code freely in their own code without concern
for licenses or copyright.)
The OpenOCD developers get to make the decisions here. But they have to
consider the users here. Will more people be able to use OpenOCD if
they figure out a way to communicate with P&E hardware? Will existing
OpenOCD users be able to get more out of the software? Would that
involve compromises which would chase away some OpenOCD developers?
Would it make it less likely that P&E Micro will release information or
GPL'ed code, which would let OpenOCD have good and fully GPL'ed support
for the hardware? Would it make it /more/ likely?
There are no easy answers to those questions, and no easy way to guess
the long term or short term consequences of any changes or decisions
here. I don't expect to change anyone's mind - I am not trying to
persuade anyone here. I am merely showing different viewpoints for
consideration. Again, I understand and respect others' opinions and
philosophies here.
mvh.,
David