Recently, we had to amend a Java project with some additional functionality, specifically to access Oracle databases and to automate the secure copy of files from one machine to another. After taking a quick look around online, I learned how Oracle’s licensing prevents the placement of its JDBC .jar file in the Maven repository (which apparently is yet another addition to the ongoing soap opera that is Java), and I learned about the Java Secure Channel project. In regard to the latter, the documentation was somewhat sparse, but there was a working example of how to replicate ‘scp’ functionality using its library. I added the JSch dependency to my POM file, and after only a few minor adjustments to its working example, I had it successfully running in our Java project. All in all, I was impressed with its ease of use. I only had one question: why wasn’t its working example (along with other documented examples) added as an actual method in its library? After all, thousands of developers were obviously cutting and pasting this example, leading to possible code bloat in other open source projects. Would it introduce too much of a maintenance nightmare to do so? Like with Oracle, were there legal reasons? Will Oracle ever change its licensing to become more compatible with open repositories? Tune in tomorrow and watch the next episode of “The Days of Our Java”.