I have been asked this question about licenses THREE times this week so thought it would make a good opinion piece (and I hope you will include your opinion as a reply).
There seems to be an increasing trend for companies to sell you a repeat license (where you are effectively having to rent the software and buy it again on a yearly basis). If you do not do this, the software stops working.
We are big fans of SAAS (where you buy access to a self-contained service such as the excellent bug tracking software fogbugz from Fogcreek software) and pay them a small monthly fee so that they worry about installation, bugs, performance, infrastructure, licensing rules and so on while we can get on with our business and our customers. Fogcreek do a brilliant job and my life is a lot simpler and less stressed.
However, where it is a software component that is integral to your actual application, it is more problematic. Initially, it is just a different way of paying for the software. But I have 2 problems with this:-
1. How much does the software cost? Most companies want an upfront implementation cost and then a much lower ongoing support cost. This pricing strategy moves the cost of the software from an implementation to a support cost. This makes it much harder for the customer because the answer is ‘depends on how long you use it’.
2. Legacy systems. Most software or projects have a similar lifecycle. You start as the cool new kid on the block and move to the dull old,timer who is tolerated and ignored as much as possible. They are just kept going with no new funding and minimal maintenance. This is not going to work with this model.
That is why I prefer a software model where you pay a one-off fee to license the software and it is then your to run under the terms of the license (no magic switch-offs if you stop paying). The element you do have to keep paying for is support and updates and you can buy those on a repeating yearly basis as long as it makes sense. I do not like the lockin where your software will stop working if you stop paying.
What do you think about software licensing?
Do you need to write or read JPEG in Java?
We have an easy guide on how to write JPEG in Java using ImageIO and JDeli.
You can learn how to read/write most of the image files in ImageIO. However, it gives little control over the process.
JDeli is easy to use and offers complete support, so why don't you give a try?