We sold a Python 2.7 project six years ago. The customer is trying to run it in Jython, but it doesn’t work. They want to use Jython, because it supports Python 2*. However, the truth is that Jython does not run Python 2 code at all. It’s merely a Python-like programming language. You cannot run this code in Jython: Example concurrent_download.py — gevent 22.10.3.dev0 documentation. While it is valid Python code, Jython cannot execute it. If that code is not written in Python 2, we are uncertain about how to classify it.
The current issue we are facing is that our company is being sued for breach of contract and false claims.
We believe PSF has lost the Python trademark. It would be advisable to abandon it completely and treat it similar to the C programming language. This approach will ensure that we do not make any claims associated with Python.
We have observed this behavior occurring frequently, leading us to cease coding in Python. Many claim to support Python, but only CPython truly fulfills the requirement. This situation is quite absurd. Could you please provide a definition of Python?
A similar situation has also emerged with Node.js. As a result, we have stopped marketing our projects as JavaScript projects and instead started referring to them as web projects, even though they are executed within an intranet environment. However, we are experiencing a loss of customers because they believe they are vulnerable to internet threats.
What would you suggest as a name for Python projects? We have no clue.
*The Jython project provides implementations of Python in Java, providing to Python the benefits of running on the JVM and access to classes written in Java. The current release (a Jython 2.7.x) only supports Python 2 (sorry).
I don’t quite understand what you are seeking from the PSF.
The purpose of trademark laws is to prevent intentionally misleading use of a brand such as “Python”. In your case, calling a project that works in CPython 2.7 a “Python project” is clearly not misleading. I don’t see what trademark law has to do with it.
I’m not a PSF member, but I’m quite sure the PSF considers providing a legal definition of what a Python project is as none of its business.
Have you reached out to your company’s legal department about this issue? Are you sure they want something from the PSF? What, precisely?
It’s similar to a situation where a company manufactures cars that resemble Ford vehicles and sells them as genuine Ford cars. As a car dealer, we face legal action because these vehicles are not compatible with authentic Ford parts. In such a case, who should be held responsible?
Jypiter falsely claims to support Python 2 using the “Python” trademark.
Consulting AI informs us:
In this scenario, the accountability can potentially be distributed among multiple parties:
Ford: Ford could be held accountable for failing to adequately protect its brand and intellectual property rights. They have a responsibility to take legal action against companies producing counterfeit Ford cars to prevent confusion among customers and protect their brand reputation.
Third-party company manufacturing counterfeit Ford cars: The third-party company involved in manufacturing and selling counterfeit Ford cars can be held legally responsible for infringing upon Ford’s trademarks and intellectual property rights. They are directly involved in producing and distributing unauthorized replicas, which can mislead customers.
Card dealer: As a car dealer, if you knowingly sell counterfeit Ford cars without disclosing their true nature to customers, you could potentially face legal consequences. It is essential for dealers to ensure the authenticity and legality of the vehicles they sell, as selling counterfeit products can lead to legal liabilities and harm your reputation.
It’s important to consult legal professionals to determine the specific legal implications and responsibilities in such cases, as they can vary based on jurisdiction and specific circumstances.
I’m no lawyer, but I’m interested to know when judges started
consulting AI on case law.
At any rate, in many jurisdictions (such as the USA, which I’m most
familiar with), litigants can bring a civil suit over anything at
any time. It’s up to the judge to determine whether their case
against you has merit, and then your defense needs to prepare a
countersuit to recover legal and court costs from them once it’s
found to be without merit (ideally with punitive measures to
dissuade them from trying to pull the same stunt on someone else).
To me, this sounds like a litigation-happy client which you need to
cease doing business with immediately since they’re seemingly happy
to burn their relationship with you over something absolutely silly
(or worse, this was their plan all along). Once your legal counsel
tells them they’re happy for the claim to be settled in a court of
law, you’ll probably learn their threats were all bluster and they
have no interest in spending large sums of money to bring a case
against you they know they can’t win.
Be careful what you claim about the name “Python”. Why precisely does that program not run on Jython? Is it because Jython fails to fully implement the Python language, or is it because that program depends on features of CPython that are not guaranteed by the Python language?
FYI, we are not requesting anyone to take any action. We are simply informing that we can no longer utilize the Python programming language in any commercial product.
As @fungi said, the claim that you are breaching trust by asserting that your code supports Python 2.7 while it does not run on Jython strikes as odd. No serious Python programmer in their right mind would make such a claim in good faith. CPython is the reference implementation of Python, after all.
I’m not a lawyer, but I think it is very likely that you will win the case if you take it to court. Or that the other party will simply abandon their accusations, seeing that they have no chance of winning.
Was the response from the AI literally copied and pasted there? If so, it’s interesting that its pro bono legal service included advice for card dealers acting in the capacity of car dealers. The luck of the draw?
The Python language and its standard library is defined by the Python-language docs, except as there are errors and omissions, which we continuously patch. Some of the omissions are filled in by CPython.
Your program extends Python by importing a 3rd party package, gevent, which I suspect is written in C. The gevent doc notes several limitations and caveats. It also imports further 3rd party package, greenlets and libuv. I am sure that the latter are C libraries and likely cannot be used with Jython.
Jython supports interaction between a) the JVM and Java libraries and b) Python 2.x code and its interactive interpreter. That is its purpose. Anyone using it should not expect it to run arbitrary compiled C code, and hence arbitrary Python extension packages.
The default meaning of ‘runs with Python x.y’ is that something runs with CPythonx.y, and if no other implementation is specified, testing with CPython is the first thing that one should do. If a contract specifies that a product should run with implementation x, then one should test with implementation x before delivery.
One purpose of the PSF is to hold and defend the Python trademark as best as possible around the world. The PSF has a lawyer, maybe sometimes more than one, to do so. There have been multiple defense actions.
Making wild inaccurate claims about Python, the PSF, its trademark, and Jython can only hurt oneself, especially if involved in a court case.
The username of OP (a popular movie franchise), the lack of previous post history, and the nonsensical statements strongly indicate to me that this is a trolling exercise for the sake of humor.
I could of course be wrong but I strongly advise people don’t spend too much energy replying, especially as nothing is being asked or requested.