For those, who have not worked in Oracle or have little understanding of Oracle's internal culture, I recommend this nice article about why James Gosling, the creator of Java, quit Oracle: http://www.eweek.com/development/java-creator-james-gosling-...
The way Oracle as company behaves, is quite common in that universe.
I will miss having Solaris around.
However those with heavy use of external consulting and off-shoring, seem to come pretty close.
Using consultants is a business decision which helps the company hire people for the short term of the project and also offload risk. Not all companies have the capability to handle all kinds of risk. For example, software companies don't specialise in financial models and investing. So they don't take on financial risks by investing in derivatives and other instruments to make profit. Whenever possible, risk outside core competencies is outsourced. This is good for the company as then it can focus on the core business and make money.
Off-shoring is bad in the sense that jobs are lost in the local economy. But, this is again similar to having a factory in China as opposed to San Francisco. It brings in more expertise at a reduced cost. Off-shoring helps make things cheaper in the end. For example, as your insurance company uses off-shore consultants to make their software, it is cheaper directly translating to lower insurance premiums. the same for many other products.
While I understand that software is a different beast to build unlike toys or other products. Once built, the normal theories of economics still apply.
Outsourcing software is like burning all the design documentation for hardware your having someone else build. Even something as well known as injection molding tends to work vastly better if you have experienced staff as part of the design process. And software is worse than that because the design process is part of development, so outsourcing means you don't even understand the problem space.
If I wouldn't pay the consultants in the office across the street to work on my core IT (outsourcing), why would I pay someone separated by oceans, timezones, language, culture... (offshoring)?
While working in healthcare, our corporate overlords repeatedly rammed the "blended shore" model down our throats. Which never worked. (Got to know some nice people, though. So there's that.)
The easiest part of our job was the coding. Requirements gathering, analysis, project management, customer relations, QA/Test, etc. Working shoulder to shoulder with our clients, it was hard enough. No way our work could be further delegated while still delivering something useful.
Preaching to the choir, I know, apologies.
Just like any other short-term strategy, could be appropriate sometimes, but very rarely is.
A decade ago, at least in my experience, Chinese products were synonymous with bad quality and were not considered reliable. Nowadays, while those kinds of products do exist there also exist very good products designed and made in China (eg: DJI, OnePlus, etc.).
I reckon its still early days for software and going forward, we will learn how to build higher quality standard stuff and even high quality novel products. Generating this stigma against against consulting and off-shoring before we have had time to properly analyse the cost-benefit tradeoff doesn't help anyone.
They might be and are probably bad in many cases, and cases where they did not work should be publicised and studied. But making broad statements and correlating them with bad work environment is not helpful.
In the short term it can often work really well. Somewhat more rarely it can also work long term.
The trick IMO is to be hands on. Apple's approach to manufacturing is to be aware of what's going on even if they are not actually doing it.
Not having in-house expertise has the really big problem you mentioned because the only way to avoid these problems is if you have experienced oversight and that's almost inevitably the first “expensive” staff cut.
Off-shoring takes all of those problems and amplifies them with a big communications latency hit. I've never seen that go well except when an entire product can be handed over, including the management.
The pace at which Oracle develops software, the flagship Oracle Database for example, is ridiculously slow. The Database team takes about 3 months to 6 months to develop tiny changes (say 10 to 20 lines of code). In other Fortune 500 companies I have worked for, I have seen such changes taking about a few days (5 days max!). I am not kidding! What takes say 3 days to develop in a normal software company may take about 3 months to develop in Oracle. And mind you, Oracle Database is one of the premier departments of Oracle; other departments are even worse!
Oracle is also remarkably apathetic to its employees. The link[1] shared by foo101, i.e. has a few anecdotes that highlights this apathy. In fact, when I read James Gosling's account of Oracle in that link, I thought, "Wow! This is so accurate. Even someone of the name and fame as James Gosling had to face the same lowly problems at Oracles that relatively unknown developers in Oracle face."
Disclaimer: I worked for Oracle for 2 years.
[1]: http://www.eweek.com/development/java-creator-james-gosling-...
It's no different with SQL Server or DB2. Each vendor has its captured market, with very little power to enlarge its share and commensurately little need to innovate. Customer demands amount to operational window dressing. Why spend money on engineering when customer and vendor are both satisfied?
> Oracle lives in a market protected by high barriers to entry and low customer expectations.
This is false. Oracle has a very tough competitor called Microsoft SQL Server. In fact, Oracle tries to catch up with many existing Microsoft SQL Server feature with its every release. Like it or not, the NoSQL database servers like MongoDB, ElasticSearch, etc. are also competitors of Oracle. That is why Oracle was forced to introduce supporting for storing, indexing and querying JSON in their database. This was a completely new feature that required Oracle to develop new querying syntax, new querying mechanisms and new constraint validation syntax. There are many such examples where Oracle is forced to improve due to competition.
> And no one, from CTO to DBA, makes any demand to substantially improve the product, such as by rectifying theoretical problems with SQL that have been recognized for decades.
This is true. But then everyone from CTO to DBA make a lot of demand in substantially improving the product in other awys, such as providing new features regarding scalability, robustness, security and auditing. This is why Oracle Database has seen a lot of enhancements in multitenancy in the last few versions.
> Why spend money on engineering when customer and vendor are both satisfied?
Oracle does spend a lot of money on engineering. Why? Because it has a lot of development to do in their database to remain competitive. If anyone thinks that the field of RDBMS is mostly a stagnant field and no new development happens in this area, then that is a gross misunderstanding of this market. Database market is still very competitve especially when Microsoft SQL server leads the game with modern features and as open source databases and NoSQL databases are eating away the market share.
See the following two URLs for example to see how Oracle has been adding new features in the last two releases:
* https://docs.oracle.com/database/121/NEWFT/chapter12102.htm
* https://docs.oracle.com/database/122/NEWFT/new-features.htm
While all this looks good on release notes, it is only someone like me, who has had the misfortune of being an Oracle developer, that can vouch that the development process and the development pace within Oracle is hopelessly archaic and painfully slow. Oracle still follows the waterfall model of development for example. There are probably hundreds of reasons and contributing factors to this. A few of those hundreds off the top of my head.
* Management that does not care about absolutely anything apart from their own promotion.
* A culture that rewards talking out loud rather than actual work.
* Top-down heavy handed management that provides zero autonomy to engineers, thus no motivation in engineers to innovate and improve engineering practices.
> This is false.
You have no further to look for Oracle's captured market than the US federal government. When Snowden talks about the realtime interception, tracking, and monitoring of any and all electronic communications, worldwide, he's talking about the NSA using Oracle databases to do it. Ellison made the company successful by selling the as-yet-unproven technology of a relational database to the FBI (IIRC), and it's just continued from there. This is the environment that led Scott McNealy, then CEO of Sun, to famously quip, "You have no privacy. Get over it." He knew that the NSA was collecting everything it could, and storing it in an Oracle database running on Sun hardware. Well, the commodity hardware caught up, but Postgres is still struggling to match the features Oracle had 20 years ago, so Oracle DB is still the king of enterprise databases, where cost is no object. Ellison owns government IT, which is what leads him to be so smug about his success. Even if all Fortune 500's would cut Oracle off, Oracle would continue to rake in piles of cash from the government. It is the definition of a captured market.
(And I don't mean golf.)
If there is code in there that turns out to be copy-pasted from somewhere else, open sourcing makes it more likely that people will find it. That could be expensive (e.g. when some BigCo owns the copyright on code they have been selling for decades) and/or have even more serious consequences (e.g. when there's a GPL-licensed code fragment in there, and they linked it with a part they want to keep commercial)
Answering that question conclusively can be very expensive. They may not have a full history of the code, and if they have, it may not contain all metadata needed.k
They may fear releasing the source opens them for patent lawsuits or may have patents they aren't willing to give up, and fear that open sourcing it without any patent clause will not give them much goodwill.
> some telecom stuff they wanted to get out off.
I'm guessing that it might well have been?
Copyright. That intern who worked at SGI or NetApp who (un)knowingly reused some of a project they had on their laptop at their new place of employment that was actually software owned by their old place of employment. Scrubbing that or getting proper (open source) licensing for that bit, along with all the legal headaches that entails. Remember that we're talking about code that has been around since effectively 1982 with Sun UNIX 0.7 (or SunOS 4 as Solaris 1.x in 1991).
Licensed from other. I recall that various parts of non-Sun operating systems had licensing for parts of NFS. It wouldn't be surprising to find that parts of Solaris had licensing from other companies too. Including code directly licensed likely wouldn't be compatible with the license from the other company. Removing the licensed code to make it linkable is an option, but a time consuming one that diminishes the value of the overall project ("what do you mean I need a license from HP for something that DEC wrote?")
Your patents. Some open source projects have patent clauses with them. Sure, you can do the stuff to license those patents under the terms of the open source license... or chose one that doesn't have them. The former isn't at all in the interest of Oracle; the later is "Here's some BSD code... we don't know what patents are in there, but if you use them we will sue you."
Other patents (part 1). Surprise! In open sourcing the software, it is discovered that some intern reused the methods learned at another company in part of the product that has made its way to today. Now you've got the lawyers looking for blood for a decade of royalties.
Other patents (part 2) Recognizing that NetApp didn't want ZFS to be open source and there were some cross licensing aspects with Oracle with the ZFS settlement... they'd probably have something to say about it. There's probably some WAFL patents in it now.
Competitors. There are things in Solaris that would help competitors to Oracle products. Yes, open sourcing with a copy left license would mean that those competitors would be more challenged to use the software, but its out there.
Parteners. There are things in Solaris that help partners. Open sourcing Solaris, while providing good will to the community reduces the leveraging power with the partners for good deals. Some of those partners may also be interested in parts of Solaris not being open source.
So... nope. There are lots of legal issues and many business reasons to keep it closed source.
Consider also that this is development from March 2010 (first release under Oracle closed source - prior to that it was CDDL) until October 2015 (the last release) and the amount of value that has been added compared to the amount of effort for the above.
> Also, asked whether in hindsight he would have preferred Sun having been acquired by IBM (which pursued a deal to acquire Sun and then backed out late in the game) rather than Oracle, Gosling said he and at least Sun Chairman Scott McNealy debated the prospect. And the consensus, led by McNealy, was that although they said they believed "Oracle would be more savage, IBM would make more layoffs."
OpenSolaris is a discontinued, open source computer operating system based on Solaris created by Sun Microsystems. It was also the name of the project initiated by Sun to build a developer and user community around the software. After the acquisition of Sun Microsystems in 2010, Oracle decided to discontinue open development.
I believe they should consider this because Btrfs, which Oracle itself started, it going nowhere fast; and because Oracle customers who run Linux will benefit as well.
https://www.theregister.co.uk/2010/09/09/oracle_netapp_zfs_d...
http://www.shrubbery.net/~heas/sun-feh-2_1/Systems/Sun4c/SYS...
And the bizarre quazi-portable-but-definitely-not-laptop SPARCstation Voyager:
https://www.youtube.com/watch?v=Z2CprTGEIS8
http://www.tldp.org/HOWTO/SPARC-HOWTO-5.html
http://www.kevra.org/TheBestOfNext/ThirdPartyProducts/ThirdP...
http://www.ebay.com/itm/WORKING-Rare-SUN-Voyager-SPARCstatio...
http://www.shrubbery.net/~heas/sun-feh-2_1/Systems/SSVygr/4m...
https://en.wikipedia.org/wiki/Cobalt_Qube
https://en.wikipedia.org/wiki/Cobalt_Networks
[1] Sun's buy of Cobalt had bad timing, since the dot-com bust happened soon after.
I'm imagining, and as things stand, my imagination is hinting at crappy battery life due to lack of tuning.
But if you want to try, Solaris was forked long ago -- Illumos is out there.