Slashdot Mirror


How Often are Internal IT Projects Open Sourced?

An anonymous reader asks: "Most open source projects seem to started by individual contributors working in their personal capacity. I am thinking about projects like attendance maintenance systems, and not high-end infrastructure projects like Sun's Solaris. Most internal IT products are probably reimplementations of what exists at other companies, and do not bestow any competitive advantage to the developing company. The cost of developing the software is overhead, and they could potentially save money by open sourcing the projects and utilizing contributors' expertise. So, are there lots of instances of companies' internally developed IT products being open sourced?"

21 of 55 comments (clear)

  1. Most are reimps? by VultureMN · · Score: 5, Informative

    I doubt it. All the software I've worked on in-house would be absolutely useless outside the immediate company, and no-one without expert domain knowledge would be able to add much to it anyway. I'd wager that most inhouse stuff is =not= reimplementations of things other people are doing.

    Or do a lot of companies calculate the industry cost of sunday magazine coupon promotions?

  2. Anecdote by RomulusNR · · Score: 3, Interesting

    Well, I just recently received the blessing to release a bunch of internal PHP tools I made as open source... a test case management system, an inventory library system, and a scheduled task notification system.

    It helps a lot when you can easily point out that the tools you want open sourced have nothing to do with the core function of the company, and are really serving a generic purpose and could be used by others. (It also helps to have designed the tools with this in mind from the start.)

    My company asked that the company's name be included somewhere in the softwares' materials in the releases I was involved with; I figured this was a small favor to go along with, and it helped them appreciate the idea as having some sort of paid-forward benefit.

    --
    Terrorists can attack freedom, but only Congress can destroy it.
    1. Re:Anecdote by drsmithy · · Score: 2, Interesting
      My company asked that the company's name be included somewhere in the softwares' materials in the releases I was involved with; I figured this was a small favor to go along with, and it helped them appreciate the idea as having some sort of paid-forward benefit.

      I find it amazing you look on something that should have been an assumed inclusion - a basic acknowledgement of who was responsible for having the software developed in the first place - as a "favour".

  3. In my experience... by torinth · · Score: 5, Insightful

    Most internal applications like the kind you are talking about are poorly engineered monstrosities that few would want to see the light of public exposure. They were thrown together on a far too short schedule just to fill a need, and are therefore exhibit some large subset of the following embarassing characteristics: unscalable, uncommented, unstable, hard-coded/non-modular, inefficient, unadaptable, buggy, etc.

    While a switch from a DIY mentality to a shared/open-source model might alleviate these problems, whose going to be the one to put their crap forward as the starting point? Management will never give anyone the time to finish it and clean it up properly for publication, since there's no immediate or guaranteed benefit to the company (though certainly some to the competitors), and few in-house developers will have the balls to put their disfigured lump of an application out their for public review.

    1. Re:In my experience... by Artega+VH · · Score: 3, Interesting

      I'm the author of one of those "monstrosities" you're talking about. Initially I was embarrased to hypothetically release it but then I realised that almost all of the projects on SF simply don't work as well as my hack does. If my app was released onto SF I'd consider working on it from home too which is something I will NOT do if its just at work...

      My application is a web based timesheet program. The only part I'm "proud" of is the pdf timesheet generation. Other than that the application runs, with almost zero maintenance (occasionally a strange bug pops up on average once every three months). The part I'm least proud of is the interface which looks worse than slashdot.. and the code that generates it has SQL, PHP, and php generated javascript all in one file (ie a total mess). It is reasonably well commented though since I've had to have other people working on it. Oh the database sucks too since it was converted directly from an excel sheet its pretty much one huge table... whoops..

      My feeling is getting the company to actually release its previous IP freely unto the world would be an uphill battle. Maybe there is a different culture in other companies but mine is heavily protective and risk adverse in that sense.

      --
      groklaw, wired and slashdot. The holy trinity of work based time wasting.
  4. Your question seems a bit confused... by HotNeedleOfInquiry · · Score: 2, Interesting

    I think that you're trying to make a statement advocating open-source software for internal projects, not actually asking a question. Now there's nothing wrong with that, but let's be up-front about it.

    I think that most of the in-house software will not be open-sourced. First of all, there's always the chance that the programs would benefit the competition. Remember that since they are the competition, they will generally need the same tools. Secondly, right or wrong, there is in some companies, the stigma of the "viral open-source license". Finally, internal programs often use internal (and sometimes proprietary) tools and are also seen as potential revenue streams. "Why give it away when we spent $XX,XXX developing it"

    Note that this post is in no way meant to be a flamebait, just an honest assessment of what I've seen.

    --
    "Eve of Destruction", it's not just for old hippies anymore...
    1. Re:Your question seems a bit confused... by wfeick · · Score: 2, Interesting

      When management is aware of how much benefit their projects have received from being able to make use of other people's open source projects, I've found they're receptive to open sourcing internal tools that have been built that are not part of the company's core competency.

      As an example, we've built some C++ classes to abstract shared and exclusive mutexes, including scope objects that acquire a lock in their constructor and release in their destructor to provide better exception safety and simplify code. We've also pushed thread cancellation safety into the mix. On top of that, we have the ability to define a global process lock ordering table based on a set of required partial orderings, and throw an exception if anything tries to take a lock out of order.

      This is all combined with a thread abstraction and an x86 stack trace object that is instantiated from inside our exception object and provides a convenient way to log where a problem occurred. We've hooked this into assertions and a segv handler.

      This code has been in production use for a few years now, and is rock solid.

      My management is willing to open source this, I just haven't gotten around to it. (If anyone needs this sort of stuff, ping me and we'll see what we can do.)

    2. Re:Your question seems a bit confused... by foandd · · Score: 2, Insightful
      So what you are actually saying is that it is better for companies to spend more writing and maintaining multiple toolsets than to get together and write one between them.

      No, what he's actually saying is that at most companies somebody will say "could this possibly benefit our competition?" and at that point, the idea will die.

      Whether or not there is an opposing viewpoint, and whether or not it is correct, is immaterial. In most companies, if the people in decision making capacities think that there is any chance that open sourcing something they've written could help their competition (yes, even if it increases their own benefit as well), they just flat won't do it.

  5. We sell our source. by Oz0ne · · Score: 2, Interesting

    On the projects we create internally which are applicable to other businesses, even competitors, we sell the source if there is a market.

    Why would we give it away for free?

    1. Re:We sell our source. by jhoger · · Score: 2, Insightful

      "Why would we give it away for free?"

      Perhaps because you're not a software company?

      OSS is a barter system. Many give things away not because they are Jesus, but because they want something in return.

      For example, if the software is some fantastic cost accounting system, for example, and you release it, other contractors could "squat" on the code, and make their own competitive businesses supporting it. Then you would have some choices about outside contractors to go to when you need extensions.

      Also, you may get bugfixes, and other contributions from the community of contractors and users.

      -- John.

    2. Re:We sell our source. by jhoger · · Score: 2, Interesting

      Someone using your code and not giving anything back does not really cause you any kind of loss 0 - 0 = 0. So, No impact.

      But if someone improves your code and releases it (contractors, for example, or anyone who understands and participates in this barter system) you can take advantage of that. That's a net gain. The GPL doesn't require release of source unless you redistribute binaries or source. But the GPL has real teeth, due to the fact that software is quite often distributed. And even when the GPL doesn't require it, there are real advantages to giving changes back, chiefly being, not having to maintain those fixes all by yourself in a new branch.

      There are plenty examples of both.

      Code can be worth something, but if you're not in the software business, it may not be worth it for you to try to sell it. That doesn't mean the code is worthless. It may just mean it's not your line of business. You can be in every line of business, you usually focus on one product or a few lines of products.

      Obviously, if your code is worthless, no one will want it, or giveanything back, don't waste your time releasing it. I think you may be missing my point on that one...

  6. CGI::Prototype by merlyn · · Score: 4, Insightful
    My CGI::Prototype application framework started as an IT task for a large university I have as a client.

    The strategy I used was to explain to the IT group to which I was contracted that I was leveraging from a lot of existing open source, and that the "tradition" was to return something in kind for using this software. The portions related to the generic application were thus released, while the portion I do to solve the specific problem that drove this framework remain private to the client. This is the best of both worlds.

  7. More likely you might improve exististing OSS by Neil+Blender · · Score: 2, Informative

    At all the companies I have worked at that use OSS have all taken something, improved it because they had a specific need for the improvement, then released the improvements. Our company is planning to do some optimizations to several OS statistical packages. However, the only reason we are going to do it, is because we need it to be faster.

    As other people have pointed out, the internally developed stuff will most likely stay internal because it is poorly written/documented or would be to valuable to give away for free.

    That said, if our company fails completely (ie not sold, just shuts its doors), I will advocate that the products be open sourced, because they very well could be.

  8. Too many problems by StarWynd · · Score: 2, Insightful

    While my company is in the research and development end of the spectrum, they are very particular about what makes its way out of the company. Most of our business is contracting work. In order to have work we need to get contracts and to get contracts, we need to beat out our competitors. One of the points of leverage is that we have an internal code library which is proven and tested. Giving the library away does not help us do our work any better nor does it help us win additional contracts, but it will help our competitors.

    We do have less specialized code which could be released without any real backlash, but it's too much of a headache to go through the legal process with the company's lawyers to get something out as open source. I have some additions I'd like to make to a couple of open source projects, but I simply don't have the time to sit down with the lawyers and work through red tape nor do I have time to sit down with my upper management (non-programmers) and convince them that giving away some code is 1) a good idea and 2) will not hurt the company.

  9. I open-source my university assignments by wikinerd · · Score: 3, Informative

    I always try to release under libre licences and open-source whatever I can, including my university assignments. Recently a professor asked us to program an Eliza-like chatbot, software that lets the user to discuss with a computer. He joked "the perfect language for chatbots is Perl, but you won't learn a new language just to write one program, will you?". I did: I was fascinated with the idea of learning a new language just to finish a university assignment, and I learnt Perl and finished the chatbot (including documentation) in 3 days. Now I published it under a permissive licence (BSD-like) and you can download the complete source code.

    Right now I am working on my B.Sc. individual project and dissertation, doing research and evaluation of modern content management systems and wikis, as well as developing my own wiki-CMS, and I intent to release it to the libre software community too.

    I encourage all students and employees to publish your work under libre licences, such as GPL, BSD or Creative-Commons, if this is allowed by your university or employer.

  10. Which universities would allow this?? by pbhj · · Score: 2, Interesting

    My experience is limited, but here in UK [at least until a couple of years ago] Uni's have very strict limits on student IPR (Intellectual Property Rights).

    Dissertations, and often any IP produced by students in the course of their study belongs to the Uni (don't know how enforceable it is but I had to sign a waiver of rights as part of my matriculation process).

    Do you have the relevant rights to GPL your software???!

    Yes, it sucks.

  11. My own experience by menscher · · Score: 4, Interesting
    I don't consider myself to be a programmer, just a sysadmin. We use lots of open-source software on our machines, but don't really have funding to contribute to the projects. So, I give back in the form of answering questions on mailing lists, submitting patches, etc.

    Recently, though, there was some functionality I wanted added to ClamAV, an open-source virus scanner. Basically, I wanted to make sure the milter was running. So, I wrote clmilter_watch, a tool to monitor the functionality of clamav-milter. Of course, I don't trust my own programming skills enough to know if it's stable for production use. So, it gets released to the world. A few downloads later, I get a couple of suggested patches, and the thing is pretty solid. Everyone wins.

  12. don't rule out "shared" source either... by Khyron · · Score: 2, Interesting

    I'm a strong proponent of open source both in concept and in considering open source solutions at the Fortune 200 where I work as a technology strategist. However sometimes you really have a hard time selling some of the less enlightened at a big company on the merits of fully opening a project.

    In case anyone interested in this subject hasn't checked them out before, you might want to read up a little on Avalanche, a consortium which provides a slightly less open but slightly more palatable (to resistant PHB's) option for corporations looking to experiment with sharing IP.

    http://www.avalanchecorporatetechnology.net/

    I know the question was about open sourcing a corporate project, but I thought this might be relevant to mention because the idea came up constantly when the subject was broached of opening up a major platform product at our company. Sadly, in the end, neither the shared source or open source model was chosen.

    The good news, though, was that the decision was made to continue the life of the project in question and in fact port it to Linux, rather than replacing it with a costly COTS solution - so at least it was a partial victory for the "clueful" involved.

  13. Here's a Nice Example by fuzzybunny · · Score: 2, Interesting

    I am currently consulting for a large drug company; I was asked to help evaluate and deploy a small firewall device to protect networked diagnostics equipment at customer sites. The device had to be
    -small
    -cheap (less than ca.$250)
    -robust
    and a whole slew of other qualities, including having to work in an environment where ca. 3,000 boxes could be easily managed individually, by non-technical field service staff (as there's no chance of central management access to customer nets.)

    We settled on M0n0wall running on a PCEngines WRAP board, after evaluating a pretty extensive number of commercial and a few open source products or packages.

    I was really impressed by the openness that this (mainly Microsoft) shop showed towards this sort of thing--I encountered none of the "but if it's proprietary it's more secure" or "if it's proprietary, we have someone to sue" garbage you often get from management. There are good reasons to pick commercial, non-open software products, but these are entirely dependent on the companies that sell them.

    In addition, what I really appreciated about this client was their willingness to put the developer on retainer while he finishes his studies, and to kick him some cash for time spent making changes, 3rd level support, etc. The guy who wrote M0n0 is a really superb and bright individual, and it's great to see a large company sponsor such people (plus it's costing them absolute peanuts.)

    --
    Cole's Law: Thinly sliced cabbage
  14. Well, at least once... by seanellis · · Score: 2, Interesting

    Ant Tasks for AlienBrain was something we needed in-house, but realised would be generally useful. After a debate with my boss, we got clearance to release.


    OK, it's not the GIMP or anything, but every little helps...

  15. Take a strategy and microeconomics class by tyates · · Score: 2, Insightful
    Your question shows that you don't understand competitive advantage. If company A writes some software to improve order processing in their company, and nobody else has it, now they have a competitive advantage in the industry because they can process orders better than anyone else. Do you think they're going to just give that away to company B,C,and D within their industry? Yeah, right.

    No, what happens is that B,C,and D are going to spend the exact same amount of money to close the gap. After that, nobody has a competitive advantage, because they all have the same order processing ability now. This is the whole point of Nicholas Carr's book by the way, "IT Doesn't Matter".

    So maybe A,B,and C should collaborate on an order processing system, then D's left out of the game. Except then D would sue A,B,and C for anti-trust violations and win the cost of the order processing system plus punitive damages. Bottom line - companies are supposed to compete, not collaborate.

    So then maybe A,B,C, and D should all buy the order processing software from the same company, and that company could spread the costs across it's customers. Well, they do, and it's called SAP. But SAP spends $1.2b on R&D a year, so I don't see them giving away their stuff for free.

    --
    Tristan Yates