Why IBM Open Sourced Cloudscape
An anonymous reader writes "A common and a consistent framework for accessing information enables developers to do more things with more people more often. This article shares how Derby fits into IBM's developer strategy, the Java application stack, its intention to drive more innovation around Java on Linux, and why they want to make the Derby database become as ubiquitous as the Apache HTTP server." (Derby is the new name for the project based on the formerly commercial Cloudscape database.)
IBM has been the open source hero for many but why on earth haven't they opened OS2? Are they just going to let it rot?
Life is the leading cause of death in America.
With more and more small form factor devices that run Java (Sharp Zaurus PDA, HomePod media player, various set top boxes) and even Java processors (aJile, for example), a lightweight database presents some nice application opportunities.
I've played with Cloudscape before and it's not as speedy as MySQL or as rugged as Oracle, but it does get the job done. And having a relational database right in the set top box or PDA means independence from a more heavy duty machine on the LAN, WiFi, etc.
Open source is just icing on the cake.
Comment removed based on user account deletion
Is it compatible with gcj and other free Java-like platforms, or does it require Sun's proprietary Java implementation?
It's time once again boys and girls for my Patented Bullshit Theory of the Day!! All BToD opinions are copyright and drug induced from the unraveling mind of me. They are to be taken lightly and humorously.
Open Sourcing OS/2? Could be promising, except I seem to remember that OS/2 was a collaborative effort between IBM and our beloved Microsoft. (Note, Sarcasm mistranslate netwise). Due to this much of OS/2 is in NT and much of NT is in OS/2, which is why OS/2 could run Windows 3.1 apps natively without and user intervention. OS/2 had a Win3.1 VM that worked so well Microsoft had to implement Win95/NT 4.0 style API's to break the compatibility.
So, if my memory is correct (and with this many holes how could it be wrong) IBM simply can't Open the code to OS/2 because they don't own 100% of it. Too much of it has Uncle Bill's own stamp on it and Opening the IBM only code would not produce a working system.
Also if memory serves, there may be some major HIPAA style agreements in place that would keep it from happening even if the ol' Softie claimed that no code from OS/2 was in the 2K version of the NT kernel and that they didn't care if the whold world saw it. Because OS/2 is used in a lot of back office banking, telecom, and medical solutions. I know that one is true, I worked for a CLEC for a while and a good 80% of the boxes were running OS/2 Warp 4.0.
So, even though it might be kind of interesting to take a long hard look at the OS/2 code. I don't personally think it would ever happen. Too many legalities and too much legacy in place that still just works to hand keys to something that might enable those less fortunate of us (humans) that feel it's ok to commit grand theft to circumvent the already cheese cloth security surrounding very personal data.
But all this is circumstantial and delusional and part of my deranged mind, and as such this has been another Bullshit Theory of the Day
We now return you to your regularly scheduled rant.
"Genius may shine aloof and alone, like a star, but goodness is social, and it takes two men and God to make a Brother."
How does Cloudscape/Derby compare with the other open source Java database engine, HSQL?
Sometimes on re-start the db process just hangs and you can't connect.
You have to blow away the dbcache directory to get it to start-up. It doesn't occur frequently, but it has happened more than once in an otherwise stable environment.
Much like dropping general development for OS/2. Why have your own army developing, marketing and supporting a product (database, OS, et. al.) when you can get someone else to do the heavy lifting then sell services to support it. I thought OS/2 Warp was a fine product with a lot going for it, but I understand that it was costing IBM more than they recovered in revenue from sales. This looks like the same kind of thinking.
Remember that little deal a while ago about ibm building some off line web technology that auto syncs when you regain a connection?
The technology we are talking about is called App Play and guess what it uses for data syncronization?
It does not matter if they open sourced it since they where going to be puttting it on tons of clients anyhow.
Got Code?
Has anybody that has used both HSQL and Cloudscape/Derby could offer a comparision? Just curious.
Now with the real reasons they open sourced it:
1. Poor sales.
2. Worth more as a tax write-off.
3. Makes them look good to the open source community.
Cloudscape is a long way down the dependency graph, and you shouldnt expect it for a while. We need to get ant to boot first, which is seemingly a compiler problem.
Due to this much of OS/2 is in NT and much of NT is in OS/2, which is why OS/2 could run Windows 3.1 apps natively without and user intervention. OS/2 had a Win3.1 VM that worked so well Microsoft had to implement Win95/NT 4.0 style API's to break the compatibility.
No, none of NT was in OS2. Nor is any OS2 in NT. That was one of the reasons for creating NT. There is Win 3.1 in OS2 in the VM that you mentioned, but I hardly think that played much of a decision in creating a 32 bit WIN API. After the success of win 3.1, Microsoft realised that it could succed with out OS2 or IBM. So it made win 3.1 32 bit and created win 95 until NT was ready for mainstream use.
Well.. maybe. Or Maybe not. But Definitely not sort of.
I do not want to pay for a commercial lic to ship a product I develop that uses it. There are other capable, low main, FREE db's out there. e.g. Firebird.
If they had no cost for commercial prod usage, I would be very happy to give it a spin!
A common and a consistent framework does nothing but open the road for coding style and indenting arguments.
IBM acquired Cloudscape as a by-product of acquiring Informix. Open sourcing it is one way to get rid of YADB (yet another database) to focus on their bread and butter, DB2. Probably not a bad deal for them in the sense that it generates lots of goodwill in the community at the same time. Not that I'm cynical or anything.
Eric
How to masquerade your browser
So how does it stack up agains McKoi and HypersonicSQL, both of which are pure java, and "embeddable" databases. Do we need another?
Personally I wish instead of more databases, the various vendors/projects would just decide on common freakin SQL syntax...it's embarassing and stupid to have to many copies of the same SQL scripts that are only slightly different because the keywords are slightly difference.
It's 10 PM. Do you know if you're un-American?
Maybe they open sauced it because it is free for them, work for you?
I might have gotten it wrong, but from what I read the networked JDBC driver you use for Derby is the same as you use for remote-connecting to a DB2 server. That would mean that your code will be closely compatable -- offering a nice migration path to a full DB2. I think it sounds like a sweet way to boost DB2 sales. http://www-106.ibm.com/developerworks/db2/download s/jcc/
Not only are they giving away a database which is a great fit for small to mid-size companies (which may be in a growth phase) but they are developing specialized tools to migrate to their larger commercial platforms. So, your small company chooses derby because of cost then when you are huge you choose DB2 because of lower cost of migration. Excellent idea, I hope it works as well as it sounds.
...compared to hsqldb for my purposes. Hsql supports persisting Java objects directly into an Object-type column [preparedStatement.setObject(obj)]. Derby requires that you persist your object manually and stuff it into a (statically-sized) BLOB by manipulating streams - ick!
Also, hsql allowed ps.setObject(1, null) as a shortcut to ps.setNull(1, Types.). This was really handy.
It _looks_ like derby 10 claims JDBC 2.0 support; shouldn't it have the OBJECT data type?
Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
IBM should open source the O2 database that they got when they bought Informix (which bought a couple of other smaller companies that got O2). O2 was a great object database that could handle both Java and C++.
I want a JVM for Postgres, or a proxy interface for Postgres queries to relate across to something like Tomcat. I'd like to run an app that populates a Postgres DB with a catalog of entities in Tomcat, then run relations on them in Postgres, with the objects in the app server called transparently. Of course, this wishlist includes an app that replaces all persistent data calls from Java objects in Tomcat to SQL calls on Postgres. That kind of integration would make distributed object development so much faster and less complex (for the app developer), that it could be practiced by many more developers around the world.
--
make install -not war
So, no, the comparison isn't fair at all.
The Raven
...that could be usefull....
Blar.
I develop PHP apps on Postgres. Why would I consider Cloudscape?
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Not to mention some of the code is in use in ATM machines. Given the lack of use in the mainstream it probably has quite a few exploits that are undetected. Open the code and people will find them.
What's permanent?
Sun addresses the problem of slow disk writes (safe writes) under NFS with a NVRAM cache for writes and utility to 'clena up the mess'. It is possible to pull the power on one of these systems, bring it back up, and complete the transfer to disk. EMC and others do the same thing with their storage units. Lots of battery backed RAM for fast 'safe' transaction committal. It's not a software problem!
Do not look into LASER with remaining eye!
Hello,
I applaud IBM for OpenSourcing Cloudscape. Always good to have different alternatives, that are suited to different needs. For people looking for Java embedded databases, in addition to Derby, there is also Berkeley DB Java Edition that you might be interested in. I don't work for sleepycat or have any connection to them or their products. I just remembered seeing this product awhile back and it came to mind when I read about Derby.
Anyhow, thought I'd toss that out for those interested in embedded DBs in Java. There might be very valid reasons for picking Derby over BDbJE, like some have mentioned that Derby and DB2 use the same client libs so it's easy to scale from one to the other. There may also be compelling reasons to pick BDbJE in some circumstances. Haven't used either so I can't, personally, offer an informed opinion.
It always amuses me when IBM is touted as the hero of Open Source and Sun is the villian, despite Sun contributing more source code lines to OpenSource than any other company in history (obviously excluding Berkley). IBM marketing has really done a fantastic job.
Let's face it big business only gets involved in things because it's the "in" thing at the time. Buzz kill will eventually quite OSS down to a trickle eventually just like every "in" thing and the Open Source movement will loose its steam. This is how it's been and always will be unless there is a major paradigm shift in business.