Slashdot Mirror


Ask Slashdot: Corporate Open Source Policy?

Phiro69 (3782875) writes Does anyone have any best practices/experience they would like to share on how their corporate entity put Open Source Software out on the Internet? Historically at my engineering firm, we've followed a model where we internally build a 1.0 release of something we want to open source, the product owner and legal perform a deep review of the release, and we push it out to a platform like Github where it typically sits and rusts.

Our engineering interns have started down a new path: Using Github from the beginning (I set the repo private), and, after a bare minimum is completed, flipping the repo public and continuing development in the open using Github. How do PO and Legal reviews fit in? How can we ensure we're not exposing ourselves or diluting our IP if we're doing semi-constant development, publicly, sans a heavily gated review process? What does everyone else do? Or does corporate America avoid this entire opportunity/entanglement/briar patch?

8 of 57 comments (clear)

  1. CLA by Rinisari · · Score: 3, Insightful

    Having a solid Contributor License Agreement process in place would probably be a good idea. That way, it's clear who owns the code that comes in and encourages people to contribute while defining a (necessary evil) process for doing so. You'll lose random passers-by, but just one passer-by who gets litigious could be more of a headache than it's worth.

  2. CYA by halivar · · Score: 2

    I'd do some research and find out what other projects have had issues with. In particular, make sure you actually own the copyrights or have a distribution license for everything you intend to open source. All it takes is one lazy cowboy coder and Google to screw your whole project. Also, understand the license you intend to distribute under, and what licenses are incompatible with it.

  3. Move into the Future by bill_mcgonigle · · Score: 2

    Or does corporate America avoid this entire opportunity/entanglement/briar patch?

    Yes, to a large degree, and they're stuck in the last century. IP has always been an imaginary government monopoly meant to enhance the business interests of a certain caste; originally that was the author/inventor, but that ship has long sailed - now it's corporate profits almost exclusively (and you may find exceptions that prove the rule).

    The next century will be on the Internet and artificial scarcity will be seen as a quixotic relic. Understand this and move forward - businesses that do will outcompete businesses that don't because they're going with nature, not against it. You do still need to keep yourself out of courts, because the death throes of the old corporations will be violent, but use your legal team as protection from other corporations, not protection from customers.

    If your company cannot embrace the future and *you* get it, then that's a great signal to move on to a place with a positive slope. These are, of course, long-term trends, but fighting the brushfires of a losing battle is no way to spend one's life.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    1. Re:Move into the Future by mi · · Score: 2

      originally that was the author/inventor, but that ship has long sailed - now it's corporate profits almost exclusively

      The "inventor vs. corporation" distinction you are trying to make is without difference . For an inventor to use his invention — whether he himself forms a company to profit from it or sells the invention to an existing company — either way the intellectual property must be controlled by him initially. In this regard nothing has changed since "last century".

      We know, what was happening before "intellectual property" was invented — unless they had other sources of income, poets and writers (creators of easily copiable wares) were starving. Inventors, likewise, either went unrewarded for their inventions or were forced to monetize it themselves — and rare is a human, who is both a good inventor and a good businessman. As usual, leftists proclamations are dragging humanity into the past in the guise of "progress"...

      artificial scarcity

      There is no such thing.

      This is the term Marxists use to justify spreading other people's wealth around, that's all. Oh, sure, music and movies can be copied indefinitely and designs and algorithms can be used by anyone once created. But all of those creators need very material things to sustain themselves — and neither food, nor shelter, nor (gasp!) healthcare can be copied via torrent.

      Some companies are willing to release software to the wild, others do not. Basing one's employment decisions on that is, indeed quixotic.

      --
      In Soviet Washington the swamp drains you.
  4. Waaaay too general. by Vellmont · · Score: 3, Insightful

    Your question is far too generalized. You don't mention what your product is, what your firm does, or what the risks you're trying to protect from. Nobody can give you any meaninful advice unless you provide real details. What is it you're afraid of exposing? What's the IP you're afraid of diluting? Is your company a 100 person shop, or a 10,000 person shop? It matters.

    Those risks may be illusory, depending on what this code is. I've had a few project I'd like to release as OSS, but there's zero IP dilution and zero risk of exposing anything. Despite what people tend to think, code isn't a commodity. The specifics matter quite a bit. The only answers you're going to get with the information you provided are very generalized useless ones.

    --
    AccountKiller
  5. Rust by PCM2 · · Score: 2

    Your comment about "pushing it to a platform like Github where it typically sits and rusts" is telling. What do you think will really change if you just shift when you push your code to Github?

    In a nutshell, "if you build it, they will come" is a nice fantasy, nothing more.

    Even very high-profile open source projects often have very few contributors outside of the companies that first created them.

    And I don't think the problem is that these projects don't get community developers on board soon enough. Why would a hobbyist or other unpaid developer risk devoting time and resources to a project that is mostly vaporware?

    The problem is that it's very difficult to get unaffiliated developers to commit to working on something -- especially business software -- when there's no real incentive other than "someday this may end up being a product that your company might decide to evaluate to see if it might be possible to use instead of the commercial alternative that it has already sunk capital into and has been using for the last five years."

    --
    Breakfast served all day!
    1. Re:Rust by Junta · · Score: 3, Insightful

      One issue is that generally such projects are actually pretty niche and get developed with only that niche in mind. There simply isn't a pool of eager developers to tackle only your specific issue.

      If you can think about modularity and develop some key components that are more generally useful as distinct projects, you may have better luck.

      But overall, open source building a large development community for any given single project is generally the exception rather than the rule, even if you do your best. Even very ubiquitous projects that play a role in nearly every linux system often has maybe one or two developers that are really familiar with it.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  6. Before planting a seed, prepare the field by mdtiemann · · Score: 3, Insightful

    I made my first open source contributions back in 1987, and I did so not by launching a new project, but by contributing to an existing project (GNU). Over time, those contributions took on a life of their own (GNU C++). It was quite some time (after starting Cygnus) that we had any need to launch new open source projects (such as automake, configure, Deja GNU, etc.) My recommendation for corp OSS folks is (1) figure out how to make what you need out of existing projects and do that. If/when you reach those limits, explain the new problem you are trying to solve, see if there's interest (or even an existing solution), and then work from there. But never stop contributing to the ecosystem that likely surrounds the new code you're trying to launch. If you only ever work on your own code, people will reciprocate by only working on their own code toward you. If you work on your own code and help improve the code that lives around it, you may well find many who want to join your project, too.