How to check if JavaSE Commercial Features are enabled? - java

In light of the recent apparent crackdown of Oracle on Java users (read here), I'm wary about my continued use of Oracle's JDK - or anything Oracle for that matter. The above article warns:
“If you download Java, you get everything – and you need to make sure
you are installing only the components you are entitled to and you
need to remove the bits you aren’t using,” our anonymous expert
warned.
I'm only using the OracleJDK for personal use, on my personal laptop. I haven't given the code to anyone. Period.
Is there a simple way to check if I have any of the commercial features enabled? I use IntelliJ IDEA CE. I don't want to accidently activate them so I'm seeking your help. Thank you.

So oracle's java BCLA states the following.
This means that you can pretty much do what ever you want with the software as long as you are the one using it and you arn't violating any of the later clauses such as reverse engineering / decompiling to provided software.
Now who does pay Oracle for the JDK? Well let's look at the highlighted section. Oracle grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally the Software complete and unmodified for the sole purpose of running Programs. The first part non-exclusive this means that you are not the only person granted the license. Non-transferable this means that you may not give your license to another person. limited license this means Oracle can take your license away and that you are not unlimited with your relation to the intellectual property. without fees Free! to reproduce and use internally the Software complete and unmodified for the sole purpose of running Programs. This means that you can use the jdk your self to run your java code. So if you were say a school that charged tuition and used the jdk as part of the curriculum you would owe royalties consequence of providing the jdk to external consumer (the student) as part of a package delivered for a fee.
Now it's the next part that has you worried. THE LICENSE SET FORTH IN THIS SECTION 2 DOES NOT EXTEND TO THE COMMERCIAL FEATURES. Digging deeper for a description of the commercial features we find this page. which includes the following portion that would have anyone a little worried.
While this may seem alarming you would have had that talk with oracle when you were downloading Java SE advanced or Java SE suit. Earlier in the page under [vanilla] Java SE it says 'Java SE can be used for free internally to run applications and may be redistributed in accordance with the Oracle Binary Code License Agreement for the Java SE Platform Products (the “Java BCLA”)'
To address your initial question as to weather the commercial features are enabled or not you can look at the vm options that you are using at run-time, as this is where the commercial addon's are enabled.
Do not modify the software Oracle distributes to you as the license provided to you is for use of the software 'complete and unmodified'.

Related

Java advanced imaging license

I want to use the Java Advanced Imaging library jars in a close-source commercial application. In Wikipedia (http://en.wikipedia.org/wiki/Java_Advanced_Imaging) it says the license is "Java Research License" and so the library cannot be used in commercial applications.
But in the txt files that go with the jars (see here: http://download.java.net/media/jai/builds/release/1_1_3/) "Java Research License" is not mentioned. Nor any other known to me license.
My question is: What is the JAI's license ? Can the JAI library be used in a commercial close-sourced application?
What is the JAI's license ?
The JAI license is in the LICENSE-jai.txt file.
Can the JAI library be used in a commercial close-sourced application?
The license says:
"1. LICENSE TO USE. Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer hardware for which the corresponding fee has been paid."
Assuming that your "commercial" application is going to be used for something other than "internal use only" ... as intended by the license, then the answer is No.
Disclaimer: IANAL. If you need professional legal advice, ask a lawyer. If you intend to ignore the clear intent of the JAI license, you need professional legal advice. Alternatively contact Oracle to discuss alternative licensing arrangements.
UPDATE
The LICENSE.TXT in the source code repository for the "jai-core" sub-project says this:
This software is licensed by Sun:
i) for research use under terms of the Java Research License (JRL) as
specified in the LICENSE-JRL.txt file and on the web at
"http://jai.dev.java.net/jrl.html"; or
ii) for commercial use under the terms of the Java Distribution License
(JDL) as specified in the LICENSE-JDL.txt file and on the web at
"http://jai.dev.java.net/jdl-jai.pdf".
The links are incorrect, but you can find the linked documents in the source repo; e.g.
https://java.net/projects/jai/sources/svn/content/trunk/www/jdl-jai.pdf?rev=1433
To view these files, you will need to create a "java.net" account.
I'll leave you (and your lawyer!) to read them, and figure out what it all means. You should NEVER rely on the "expertise" of random people on the internet to interpret legal things for you.

Where can I find the JDK 1.5 source code? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Where can I find the entire source code for JDK 1.5 to download? I am unable to find the exact link on the oracle site; the link provided only goes in circles.
The name Java can be applied to many different components that work together. It might mean the "Java Virtual Machine" to some, the "Java Language Specification" to others, "Java compilers" to many, and "Java language libraries" to quite a few.
If you want the source code to the Java virtual machine (JVM) for Java5, it is available; but, not under an open source license. The first "open source" copy of Java was released with "Java 6". If you want Java5 source code, you needed to sign up for a "Java Researcher License Agreement" which provided you access to the source code for the JVM for (at least Java5). Having the source code of the JVM is completely unnecessary in writing code for the Java5 environment.
If you want the source code for the Java Language Specification for Java5, it is a text document (typically published as a book or on-line set of web pages). While it might allow you to understand if a compiler should complain with an error under certain circumstances, again it is not necessary to write a program for the Java5 environment.
If you want the Java5 compiler, it can be downloaded in the oracle archives of old releases of the Java development toolkit. If you want write a program for Java5, downloading and using this offering is generally best-practice for developing Java5 programs. Alternatively you may configured a compatible compatible compiler (Java6 / Java7) to emit Java5 code.
If you want the Java5 language libraries, they are included with the Java5 development kit. The Java6 and Java7 development kit offerings provide language libraries that go to great efforts to be compatible with Java5 source code; however, newer libraries also include newer features and operations which a stock Java5 virtual machine will not be able to reference. Again, there are techniques to safely use a backwards-compatible version of Java (6/7); however, one doesn't need to apply any extra care if they base their development off a Java5 development kit. The "source code" for the language libraries was included in the source code for the JVM under the Java Research License Agreement, to the degree that SUN was allowed to include such source code.
While SUN has licensed a number of technologies from other companies in a manner where they can be freely distributed with Java5, SUN did not necessarily own all of the technologies in Java5 outright. As such, even under the Java Researcher License Agreement, some of the source code is not available (although the compiled libraries are). Open source projects (like OpenJDK) were quick to implement these missing "holes" with open-source libraries to get a fully functional open-source Java stack; but, that is Java6+ (not Java5).
Java 1.5 is not open source. Quoting Wikipedia:
On November 13, 2006, Sun released much of Java as free and open source software, (FOSS), under the terms of the GNU General Public License (GPL). On May 8, 2007, Sun finished the process, making all of Java's core code available under free software/open-source distribution terms, aside from a small portion of code to which Sun did not hold the copyright.
As far as I can remember it was possible to get the source code for research purposes (our university had access to the source code with a special agreement with Sun) but I don't think that it will be possible to get it from Oracle.
Before the open sourcing there were several free implementation of the JVM and of the core classes. Look at http://en.wikipedia.org/wiki/Free_Java_implementations for examples.
visit the
oracle archive

How to request from JAVA to support something?

Atlassian JIRA is a powerfull issue tracker which I am using it for a long time, as it is a good issue trakcer I bound to Localize it to my locale.
I found Their page in Linkedin and asked them if I can translate it, as it was welcomed in the community I started translating, I'd post first part of my translation for them and after a while they told me here that
Java does not support fa_IR locale.
and
try to force java to support fa_IR
refactor TAC so having locale is
What can I do to get JAVA attention to support fa_IR locale or something else to help JIRA supporting it? Actually I didn't get the minning of refactor TAC so having locale is how can I deal with it?
The Sun/Oracle Java implementation is based on OpenJDK (or rather, they've released the initial official implementation under GPL, as OpenJDK) and the two projects are closely linked.
You can check the contributor guidelines here: http://openjdk.java.net/contribute/ (which includes a link to http://bugs.sun.com/)
Update : Here is the page you can find the guidline to add another locale to JAVA
http://openjdk.java.net/groups/i18n/ look for Include locale in JRE in that page
Here's the original text
Alternatively, if the locale is
correct we will have to postpone the
implementation. There are two
solutions we can explore, but neither
in the short term:
try to force java to support fa_IR
refactor TAC so having locale is optional
Neither of these is anything you can fix. The first means Sun / Oracle will have to ship an additional Locale with their JRE, the second means Atlassian will have to rewrite their code to not use Locales. Neither of these are things you can do anything about.
You can't force Oracle to support "fa_IR". You can ask them. You can offer them large amounts of money to do it. But that's about the limit of your leverage.
Somehow, I don't think that attempting to put moral pressure on Oracle is going to work. They are a commercial organization whose primary responsibility is to make money for their share-holders.
You could consider implementing the locale yourself by modifying and building your own version of OpenJDK 6 / 7. Indeed, you could then contribute this back to the OpenJDK project so that other people will benefit from it in some future release. (Probably not until OpenJDK 8 now ...)
You can provision your own Java locales through the SPI - here's an example.
When it comes to I18N-enabling software, you'll have to make a decision about how far you want to go - currencies, calendars, time zones, UI layout, etc. Swapping strings is the easy bit.

Old Version of SuperWaba

I was searching for the old versions of SuperWaba, but i can't found anyone on internet, because the newer versions of SuperWaba are commercial, but the old versions are free, then if someone have the SuperWaba SDK free version on archive, please post it here. Thanks!
One more thing: the SuperWaba project with all sources is available at superwaba.sourceforge.net.
But are you sure you can't afford 14.95usd to get a vm and a database? And, honestly, TotalCross is a great piece of software. There are many big companies around the world that adopted it. The next Brazilian Census will be made with it (200 thousands device running on field).
If you're a student, you can just use the demo vm (which expires after 80 hours of continuous use). Then you are allowed to hard reset the device, install it again and use more 80 hours.
regards
Great answer, thanks. I'll like to explain why we do not use GPL. Rick Wild sent us an agreement, when we developed SuperWaba, to allow us to change the license to LGPL. Without this change, no one would be able to produce commercial applications.
In TotalCross, the Java classes are still LGPL.
Regarding why the VM is not GPL/LGPL. The vm was written from SCRATCH, so we are able to put any license we want. We made this specially to not have to be tied to old licenses.
Best regards
guich (TotalCross Lead Developer)
It does indeed look like the bods at SuperWaba have decided to monetize their investment and you now have to buy TotalCross. Even SuperWaba commercial support is gone as of the end of 2009.
If you're not up to shelling out your hard-earned cash for their product, my suggestion would be to look into the Waba SourceForge project here. It's been a while since it changed, but may be the only way to get something for free.
Alternatively, you could actually buy TotalCross. It seems to me that either it's valuable to you (in which case you wouldn't mind paying for it) or not valuable (in which case, why bother with it). There's a TotalCross demo freely downloadable from that site you linked to, so there's no need to shell out cash until you're happy with it.
I'm sorry if that doesn't fully answer your question (I'm not trying to cause offence) but, if you're a professional developer, I'm sure you don't want to deprive other professional developers of their income.
If you think that the TotalCross bods have somehow broken the GPL (I'm presuming here that SuperWaba was based on Waba and may be subject to GPL licencing itself - that may or may not be the case), another avenue may be to contact them and just ask them what they think about that. It may be that they're still bound by the "make source code available" GPL provision and they may give it to you just to avoid any potential problems.

Adding command recall to a Unix command line application

I'm working on a command line application for Solaris, written in Java6. I'd like to be able to scroll through a history of previous commands using the up and down arrows like many Unix tools allow (shells, VIM command mode prompt, etc).
Is there any standard way of achieving this, or do I have to roll my own?
Yes, use the GNU readline library.
I think you are looking for something like JLine but I've never used it so cannot attest to its quality.
She can apparently deal with autocompletion and command line history, and the last release was recently (feb this year) so it's by no means dead.
ledit is great on linux for that sort of thing. It's probably easily compiled on solaris.
Clarification: ledit wraps the call to your other command line app, and can even be passed a file to persistently store your history.
Here's the homepage: http://cristal.inria.fr/~ddr/ledit/
There is a SourceForge project, http://java-readline.sourceforge.net/, that provides JNI-based bindings to GNU readline. I've played around with it (not used in an actual project), and it certainly covers all of the functionality.
warning: GNU readline is subject to GPL licensing terms:
Readline is free software, distributed
under the terms of the GNU General
Public License, version 2. This means
that if you want to use Readline in a
program that you release or distribute
to anyone, the program must be free
software and have a GPL-compatible
license. If you would like advice on
making your license GPL-compatible,
contact licensing#gnu.org.
In other words, use of Readline spreads the GPL-ness from a library to the entire program. (Contrast with LGPL, which allows runtime linking to a library, and requires open-sourcing only for improvements to the library itself.)
For those of us in the commercial world, even if we're not developing commercial applications, this is a show-stopper.
Anyway, the wikipedia page lists several alternatives, including JLine, which sounds promising.
Just as an aside: I work for a company that designs medical products. We make zero (0) dollars off of PC software. Nearly all our software runs on the embedded systems that we design (and we don't make any money off sales/upgrades of this software, only the products themselves); sometimes we do have software diagnostic tools that can run on the end-users' PCs. (design/manufacture/test software that's not released to customers I would think might be possible to use GPL libraries but I'm not sure) Medical products have fairly tight controls; you basically have to prove to the FDA that it's safe for users, it's not like the end user can decide "oh, I don't like this software, I'll just tweak it or use company XYZ's aftermarket replacement" -- that would leave device manufacturers open to a huge liability.

Categories

Resources