thanks for providing that advice; however, the issue is the juxtaposition of those steps vs. typing "install-package odp.net" into Visual Studio. From a time, effort, and centralization/standardization perspective, Nuget is increasingly the go-to solution for these sorts of package management setups.
With ODAC 12c, there will be a managed ODP.NET only download around 2 MB in size zipped up. You can just download, unzip, and import the DLL into your project. There is no need to run the configuration script batch file to use managed ODP.NET if you want to replicate what NuGet does. All the batch file does is GAC the assembly, setup performance counters, setup machine.config, and a few other config steps. The batch file can be modified so that admins can customize their deployments as needed.
Is that available yet? I haven't seen it, and it's what I need.
One thing I would your feedback on is distinguishing the exact NuGet support manifestation you want. Do you want:
A) Oracle to host a package on nuget.org (or any other publicly available NuGet feed)
B) Oracle to host a NuGet package on oracle.com
C) Oracle to provide a pre-built NuGet project with every managed ODP.NET release. That would allow you to customize it for your team and host your own NuGet server to deliver the customized packages.
You may choose more than one, but priority is what I'm looking for.
A, definitely. The beauty of using NuGet is that it's low-maintenance, I don't want to have to tell every developer in the shop to go add the Oracle feed for one package. All I want to be able to do is to get the managed provider with minimal fuss.
Please, please, PLEASE release a NuGet package of the managed libraries. We have had so many internal issues with Oracle Client/ODT/ODP.NET installation and setup that SQL Server has started taking a substantial hold. I'm literally here right now because I have some work to do on an Oracle project and needed to see what managed solutions were available. When I saw this post title containing both "ODP.NET" and "NuGet" I squealed like a little girl. I will be trying the unofficial package that is already on there in the next few minutes before I click on the finished download of ODTwithODAC. The ease of receiving automatic updates and choosing versions is so vital that I often make tool selections based upon if it is available as a NuGet package (EntityFramework, MVVM Light, log4net, etc). I don't need anything from Oracle except the .NET data provider libraries and SQL Developer. If both of those became independent of a client or large tools package installation then my stress level with Oracle database app development would plummet.
ODAC 12c is now available for download.
Once you have used ODAC 12c and ODP.NET, Managed Driver that comes with it, let me know your feedback, especially if there remains major reasons to host managed ODP.NET on NuGet.
Here's a direct link to the 2 MB ODP.NET, Managed Driver download.
And don't forget to vote for ODP.NET NuGet support in the Oracle Feature Request Tool if you still want this feature after you try out managed ODP.NET.
> If Oracle could not host on nuget.org, but could on OTN, would you use this NuGet feed instead?
This would be better than not having NuGet at all, but definitely not as desirable.
What I believe you would end up with is folks making unofficial copies of the packages on NuGet.org.
Is the hesitence to use NuGet.org technical or legal?
> Is the hesitence to use NuGet.org technical or legal?
What aspects of legal are troubled by this? Nuget packages can require acceptance if a license agreement and community members also agree to abide by the licenses of packages they download. Essentially this mimics Oracle's flow by making someone accept a license before allowing the download / installation. Is there a concern beyond enforcing license acceptance?
I think that while an oracle-hosted package is a second choice, it's a distant second because it still adds an additional layer and special workflow that must be done to accommodate oracle versus every other package provider.
In other news, great to hear about ODAC 12c -- thanks for that update!
It's not the legal concerns around downloaders. It's the legal rights around how uploaded software is treated.
Outercurve does not want to receive confidential or proprietary information from User through the Web site. Any material, information, or other communication User transmits or posts ("Communications") to the Web site will be considered non-confidential and non-proprietary and Outercurve will be under no obligation of any kind with respect to such information. Outercurve will be free to reproduce, make derivative works from, use, disclose, and distribute the Communications to others without limitation. At our sole election, Outercurve may provide authorship attribution by listing User's name.
As soon as I upload something to the Outercurve Foundation (via nuget.org), I've given them plenary rights to the software. That's a big problem for most commercial software distributions, including ODP.NET.
If you're an open source vendor, then this policy is fine. If Outercurve wants to distribute commercial software, it cannot co-opt ownership rights. This is the biggest issue, but there are others. For example, how can Oracle ensure that no one else on the site represents themselves as Oracle? There's no way to authenticate the "author", especially if you're downloading directly within Visual Studio.
Fundamentally, all these business issues can be boiled down to characteristics of open source (i.e. bazaar, torrents) distribution. If Outercurve introduced closed source/commercial-friendly (i.e. cathedral, iTunes) distribution, it would eliminate pretty much all of Oracle's business/legal concerns. But Outercurve is devoted to working with corporate developers in open source environments. If the component is closed source, then it doesn't fit within Outercurve's mission. That makes me skeptical they would ever support commercial distribution.
Essentially, Oracle would need to open source ODP.NET just for nuget.org distribution. That is like putting the cart before the horse.
Now, if somebody created a commercial software NuGet distribution channel, people could purchase, rent, or try out commercial software from it. That would be something Oracle would consider. That's why I asked about an alternative popular NuGet feed.
That's a really interesting business problem that I wasn't aware of, Alex, and I'm glad you brought it to my attention.
Given these circumstances, presented in the way you've presented them, I wouldn't gripe about Oracle releasing on its own channel. However, I'd love to see this as an opportunity for commercial and open source ecosystems to find a way to work it out. The gains in productivity are too numerous to let the licensing snafu get in the way.
I'm going to try to look into whether this problem has been resolved in any satisfactory way before. In the meantime, I think a great first step would be for oracle to release on its own nuget feed while indicating its willingness to add the package to nuget.org should the licensing be resolved. This would show the serious commitment to developers and our productivity while simultaneously highlighting a flaw in the nuget ecosystem. Developers shouldn't have to deal with a lack of packages, but oracle shouldn't be foraced to give up anything to make this happen, either.
Would be a potentially great case study if we could find a win/win on this.
Maybe it'd be worth contacting them and trying to find a solution? It's far better usability wise to have it hosted in the main nuget repository.
FWIW, I reached out to the nuget team on twitter and provided a link to this discussion. Other devs may wish to do the same. Twitter.com/nuget