Quality control in open source development

D

Dave

With the open source licenses that allow redistribution of modified
code, how do you keep someone unaffiliated with the Python community
from creating his or her own version of python, and declaring it to be
Python 2.6, or maybe Python 2.7 without any approval of anyone at the
PSF? Maybe their code is terrible, and not even compatible with the
rest of Python! How can the PSF, for example, maintain the quality and
coheren of new code contributed to be part of Python, or derivative
works that claim to be some future version of Python? If licensees can
redisribute as they like, isn't this a huge problem? Is this dealt
with be restricting use of the Python trademarks? Just curious..
 
C

Chris Mellon

With the open source licenses that allow redistribution of modified
code, how do you keep someone unaffiliated with the Python community
from creating his or her own version of python, and declaring it to be
Python 2.6, or maybe Python 2.7 without any approval of anyone at the
PSF? Maybe their code is terrible, and not even compatible with the
rest of Python!

In some projects, there's trademarks on the project name (for example,
Linus owns the Linux trademark), so you can mitigate confusion that
way. I don't know if the PSF owns the Python trademarks or not.

You can't stop them from forking and releasing their own code, even if
it's really bad. That's freedom for you.
How can the PSF, for example, maintain the quality and
coheren of new code contributed to be part of Python, or derivative
works that claim to be some future version of Python? If licensees can
redisribute as they like, isn't this a huge problem?

I think it's pretty self-evident that it's not a huge problem, don't
you? Do you see lots of low quality python forks cluttering up the
internet?
 
P

Peter Otten

Dave said:
With the open source licenses that allow redistribution of modified
code, how do you keep someone unaffiliated with the Python community
from creating his or her own version of python, and declaring it to be
Python 2.6, or maybe Python 2.7 without any approval of anyone at the
PSF? Maybe their code is terrible, and not even compatible with the
rest of Python! How can the PSF, for example, maintain the quality and
coheren of new code contributed to be part of Python, or derivative
works that claim to be some future version of Python? If licensees can
redisribute as they like, isn't this a huge problem? Is this dealt
with be restricting use of the Python trademarks? Just curious..

The hit men from the PSU will take care of that. But I'm not supposed to
talk ab
 
S

Samuel A. Falvo II

With the open source licenses that allow redistribution of modified
code, how do you keep someone unaffiliated with the Python community
from creating his or her own version of python, and declaring it to be
Python 2.6, or maybe Python 2.7 without any approval of anyone at the
PSF? Maybe their code is terrible, and not even compatible with the
rest of Python! How can the PSF, for example, maintain the quality and
coheren of new code contributed to be part of Python, or derivative
works that claim to be some future version of Python? If licensees can
redisribute as they like, isn't this a huge problem? Is this dealt
with be restricting use of the Python trademarks?  Just curious..

Most trademark violations have occurred, to the best of my
recollection, by commercial entities trying to usurp the popularity of
an open-source endeavor for their own commercial gain. It is very
rare that another in the open-source community will commandeer the
good name of another project for his own purposes.

This gives strong credence to the idea that the highly participatory
nature of the open-source community serves as a strong, self-enforcing
deterrent to negative acts of this nature.

As far as quality assurance itself goes, independent, third-party unit
test suites are easily engineered. Parties who do manage to succeed
in releasing their own "Python 2.7" can do so only by either making
their product compatible with this third-party verification suite, or
by not doing so. This leads to two situations:

(1) If compatible, then the name "Python 2.7" may well be accepted by
the community, even if only in an allegorical sense (e.g., "If PSF
released Python 2.7, this product is how I envision it'd be like.").
Alternatively, people will recognize the product as being Python-
compatible, but otherwise an independent line of development -- e.g.,
a fork. The PSF can then release under a new set of version numbers
(where everyone understands that 2.7 is an independent fork not
endorsed by PSF), persue negotiations (ultimately terminating in legal
action) to arrive at an acceptable product name, etc. If the PSF were
feeling particularly benevolent, they could even accept some ideas
from the 2.7 release into their own branch of development.

(2) If incompatible, the product will gather a reputation of
inferiority rapidly, and those clearly interested in Python will
neither want nor have anything to do with this misbranded malfeasance.

Again, independent verification is an example of the participatory
nature of the community at large, and is a prime example of how
concerned citizens can act collectively in their own interest,
independently, to help ensure the quality of a socially-accepted
product.
 
T

Terry Reedy

Dave said:
With the open source licenses that allow redistribution of modified
code, how do you keep someone unaffiliated with the Python community
from creating his or her own version of python, and declaring it to be
Python 2.6, or maybe Python 2.7 without any approval of anyone at the
PSF? Maybe their code is terrible, and not even compatible with the
rest of Python! How can the PSF, for example, maintain the quality and
coheren of new code contributed to be part of Python, or derivative
works that claim to be some future version of Python? If licensees can
redisribute as they like, isn't this a huge problem? Is this dealt
with be restricting use of the Python trademarks? Just curious..

The Python license says:
"In the event Licensee prepares a derivative work that is based on or
incorporates Python 3.0c1 or any part thereof, and wants to make the
derivative work available to others as provided herein, then Licensee
hereby agrees to include in any such work a brief summary of the changes
made to Python 3.0c1."

Other licenses specify that derivatives use a different name or even
distribute changes as a patch for the unchanged original.
 
M

Matimus

With the open source licenses that allow redistribution of modified
code, how do you keep someone unaffiliated with the Python community
from creating his or her own version of python, and declaring it to be
Python 2.6, or maybe Python 2.7 without any approval of anyone at the
PSF?

How are they going to "declare" that their version is Python 2.x? What
forum would they use. Current users of python most likely look to
comp.lang.python or python.org for their python update news. New users
of python are likely to use google or another search engine, and
probably land at python.org. Is it possible for me to take Python's
source code, make some changes, and post it somewhere as Python 2.7?
Yes. Will anybody notice? Not likely. Others have made some pretty
sound arguments around trademarks and such, but I'm going to simply
argue that Python as a community has its own inertia, and it simply
isn't a practical to be concerned about a dubious fork. It simply
wouldn't take off.

Matt
 
M

Martin v. Löwis

Matimus said:
Others have made some pretty
sound arguments around trademarks and such, but I'm going to simply
argue that Python as a community has its own inertia, and it simply
isn't a practical to be concerned about a dubious fork. It simply
wouldn't take off.

I think this is indeed the strongest argument. If it isn't on
python.org, it won't be Python 2.7 (and people won't mistake it for that).

The PSF encourages alternative implementations of Python
(whether as forks from the current code base, or by starting from
scratch), and there are indeed several such implementations available
(Jython, Stackless Python, IronPython, PyPy). Formally, people need to
designate their implementation with some additional attribute, as
done in this list, or even in "mere" repackaging (ActivePython,
Enthought Python Distribution).

As a matter of fact, all these people not only come up with specific
names because they are required to do so, but also because they are
proud of their specific product, and they *want* people to recognize
that this is different (in various ways) from "core" Python (which
they sometimes call CPython, just to make it clear that this is actually
but another implementation of the Python language).

Regards,
Martin
 
S

Steve Holden

Dave said:
With the open source licenses that allow redistribution of modified
code, how do you keep someone unaffiliated with the Python community
from creating his or her own version of python, and declaring it to be
Python 2.6, or maybe Python 2.7 without any approval of anyone at the
PSF? Maybe their code is terrible, and not even compatible with the
rest of Python! How can the PSF, for example, maintain the quality and
coheren of new code contributed to be part of Python, or derivative
works that claim to be some future version of Python? If licensees can
redisribute as they like, isn't this a huge problem? Is this dealt
with be restricting use of the Python trademarks? Just curious..

The PSF relies on the Python core developers to maintain quality. As far
as redistribution is concerned there are requirements to describe the
changes made to the basic Python distribution in derived works.

As far as calling it "Python" is concerned, the PSF maintains a
trademark on the word "Python" used to describe computer software. An
informal description of PSF policy on uses of the trademark can be found at

http://www.python.org/psf/trademarks/

regards
Steve
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top