EDI to XML Conversion - java

I'm searching for a free EDI to XML converter in Java.
I need to convert EDI 940 to xml and convert XML to EDI 945. The catch is that this will be used for a commercial project, I've found some projects on sourceforge but they are under GNU General Public License which if I read it correctly means I would need to pay to use it for a commercial project. Any links are appreciated. Thanks.

GPL allows you to sell copies of your appliaction but you have to give access to your source code and anyone that purchased a copy is free to give the software away for free. Depending on your business this might not really be a problem. Imho "closed source" for commercial projects is overrated, there are several examples of companies that do well with open source projects.
Another point is how you include the GPL software in your project. If you do not link to the software directly you also do not need to make your software GPL (at least this is my understanding; you would need to verify this properly once you know how to use the GPL software).
Maybe more problematic is if you have to use other libraries that are not GPL compatible, system libraries on the other hand are not really a problem (so called "system library exception").
More information on GPL is here.

If you distribute your application to users, then the GPL would require you also make available your source.

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.

Can the Java Metro stack be used in commercial closed source projects?

I'm currently looking at the Metro stack on my search for a nice SOAP web service stack that should be used in a closed source project, but i dont fully understand metros license terms that can be found here:
glassfish.java.net - license
So my questions are:
Can the Java Metro stack be used in closed source projects?
If yes - what am I allowed to do with the libraries if I want to keep my own code closed source?
Best regards
After some more research I found that the Netbeans framework is licensed with the same construct (GPLv2 and CDDL) and luckily the guys at Netbeans took the time to explain the how what and why a bit:
Netbeans license FAQ
Here is what they say about dual-licensing:
Dual-licensing is the practice of distributing identical software under two (or more) different sets of terms and conditions. When software is dual-licensed, recipients can choose which terms under which they want to obtain the software. The two usual motivations for dual-licensing are business models and license compatibility. [...]
Additional search for details about CDDL brought me to this site containing a nice summary:
why the dislike for cddl
Here is one of the parts relevant that is to my question:
CDDL is a file-based license. This means that if you make any changes to CDDL-licensed software, any existing files that you modify need to remain under CDDL, but any new files that you create can be under whatever license you want as long as that license isn't incompatible with CDDL.
Conclusion (note that I'm not a lawyer and this is no legal advice - just my personal interpretation based on the available information):
Metro seems to be useable for commercial closed source projects but changes to the existing source have to be made available under the same license as the original source.
So as long as one is just using the libraries the own source code can be kept completely closed source.
At least if CDDL is chosen.

Common Java based PDF construction libraries/tools?

I'm looking for 2 or 3 of the most common/industry wide used libraries for the Java platform for the creation of PDFs on the fly.
The one requirement I'm focusing on is the ability to use specific formatting such as page layout and font sizes and typefaces (this will be a dynamically created legal document with frustratingly specific type standards).
I'm not actually going to be the one implementing this (I'm not a Java developer), but am trying to get the ball running and need to pass along some things to have our dev team to start investigating.
I'm investigating iText at the moment, which seems to be a well established option. I'm not yet sure how robust/flexible the templating abilities are, though.
EDIT: I just realized that there's probably no one 'right' answer for this question so maybe htis is better as part of the Wiki.
iText is probably the best all around free tool.
PDFLib is another choice if you are willing to pay for the license. It has a bit more features and has a native implementation backing the Java API.
There is always FOP (from apache) if you are willing to deal with XSLT and XSL-FO, but I believe they haven't updated those engines in a while.
I agree that iText is a great tool. However, the current version of iText is not free if you intend to use it in a closed source project. See Wikipedia:
In the end of 2009, iText version 5 is released under Affero GPL license. This license is drastically different from the previous license that iText had been distributed under, in that it requires anyone using iText 5 under a free license to provide the users with the full source of their application. Projects that do not want to provide their source code are required to purchase a commercial license for a non-disclosed price or they cannot upgrade to iText 5.
However, you may still use iText 4 under the LGPL license.
Take a look at Apache FOP. Very powerful.
IText will probably serve most of your purposes. However, if you are looking to convert from rtf or doc to pdf, you can use a java plugin for open source tools like OpenOffice( openoffice.org)
Hope this is helpful,
R
iText is probably your #1 standard in this area. You might also consider JODReports or Docmosis since they can do template-based reporting using standard word processor documents as templates.
Have you considered http://jasperforge.org/

Open source alternative to DITA Open Toolkit

I'm working on a web app that will need to process DITA documents from persistent storage (likely a JCR). The DITA Open Toolkit is the only DITA implementation I'm aware of, but it requires all of your documents to exist on the filesystem. Ideally, I'd like something that works like the DITA OT, but allows you to provide a resolver (much like an XSLT URIResolver) to pull referenced content from other sources.
If people have other ideas, such as using a virtual filesystem to trick the DITA OT into working, I'd love to hear those too. Thanks!
Edit: I forgot to mention in the original post that I'm looking for an open-source solution, as this is for a project released under the Educational Community License.
After some evaluation, the newest version of the XMLMind Dita Converter (ditac) is really up to the job. Performance is at least double that of the Open Toolkit for building identical projects: http://www.xmlmind.com/ditac/
One thing to note about XMLMind Dita Converter (ditac) is that it's released under the Mozilla Public License, which according to http://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses is not compatible with GPL.
Look at Arbortext (specifically Arbortext Content Manager). Arbortext supports xinclude, catalog files, and it also has a production-ready PDF and digital media publishing tool that you don't get with the OTK. The OTK isn't really meant to be for production.
Yes, I'm a vendor (now), but I started as an implementer more than a decade ago. I answer a lot of community questions and sponsor two dozen resources for getting people's questions answered. The best of which is the SF Bay PTC Arbortext User Group (Virtual).
Are you looking to do something like what Juniper is doing? (I can only post one link, so it's going to be mine..) go to juniper dot net, choose support, technical documentation, ex-series platforms, any of the ex series docs. They're showing topics on the web directly (it's also inside the source code on the router and in the pdf books). It would help if I understood what you're trying to do.
Feel free to reach out to me offline.
This new set of DITA XProc pipelines on the EMC Developer Network might be worth looking into. It can be downloaded free for development (and there's an XProc engine there as well).
This package appeared at the end of October 2010.
Quote: "The aim of the project is to provide an alternative to the DITA Open Toolkit (DITA-OT) that does not rely on file system-based processing, has no direct dependency on Java and Ant, and makes use of the XML processing capabilities of XProc to offer greater flexibility, extensibility, portability, and ultimately also better performance. The pipelines use standard XProc features as much as possible, so with little or no effort, users should be able to use them with any compliant XProc implementation. The pipelines have been tested with EMC Documentum XProc Engine (Calumet) version 1.0.12."
My coworker just talk to me about DITA Compiler. Apparently it's part of xml mind.
According to him, the implementation isn't quite complete.
Maybe DITA2Go can help:
http://www.dita2go.com/
DITA2Go allows your files to be anyplace you please, as you requested. It also has numerous extensions beyond what the OT provides, such as scoped keydefs and ditavals, which are under consideration for DITA 1.3. It was created with intense collaboration of two TC members working on major live projects, and is used by hundreds of people currently.
It is also about ten times as fast as the OT, thanks to C++, and requires no programming skills at all to use.
It is free, but it is not Open Source. It is fully supported and the developers fix bugs immediately and often add new features in a day or two on request. It shares a large part of its code with a commercial product, Mif2Go, which is the tool used by about 25% of FrameMaker users who are moving to DITA, according to a recent survey.
I don't see a requirement for the tools used to create a freely-licensed document to be Open Source themselves. There are absolutely no restrictions on use of the output, which obviously belongs to the user, not to Omni Systems.
HTH!

Maven Plugins - how to require a license

I would like to make my plugin require a license to run similar to the maven clover plugin. Is there some utility out there that I can generate licenses with that will also allow me to integrate that into the plugin?
I need to do the following steps.
Modify the existing plugin to validate the license file
Generate the license file online and store the information for retrieval later.
Thanks,
Walter
If you use something too weak, it will always be possible to decompile the invoking class, remove the verification, compile the new class and add it back to the jar. So, unless you have some method of inline code in a lot of methods to do a complex validation of a string from the license data, use a tool that does something more.
You could try for example:
Easy Licenser from Agilis Software (uses Java so integration is straightforward)
[...] Java is our native language so integration is straightforward, and we are familiar with the issues you need to consider when protecting Java applications. Our license management solutions include protections such as digital library signatures (to make sure the libraries haven't been 'spoofed' or tampered with), guidelines on how to use exception-based flow of control to conceal the license check call itself, as well as protection against clock roll-back on time-limited licenses.
LM-X License Manager from X-Formation (uses JNI so make your application platform dependent)
But mostly the entry point to the license manager is vulnerable. With decompilers you can remove those calls from the software. Obfuscators make it a lot harder, but not impossible.
The mentioned solutions don't seem too be very expensive. However, if you decide to build your own solution, this open-source library might help: TrueLicense Library Collection.
In all cases, I don't think these tools offer the "web integration" you're looking for (something a la Atlassian if I understood well your requirement). It looks like you'll have to implement a custom solution for that.

Categories

Resources