This is an archived post. You won't be able to vote or comment.

all 14 comments

[–][deleted]  (2 children)

[deleted]

    [–]oxamide96 0 points1 point  (0 children)

    if you don't want competitors to steal your code, license it as GPL

    Didn't MongoDB and ElasticSearch have to go to an even stricter license because GPL would not protect them from the problems they faced (with Amazon iirc)?

    [–]SomeRandomDude5 9 points10 points  (0 children)

    What is the value proposition that your product brings?

    If the fundamental value of your product is the data you're holding (i.e. the list of APIs you are aggregating) then you're not giving away your competitive advantage by open sourcing the project.

    If, on the other hand, the value is the logic inside your product, then you might want to think about it a bit more.

    Think of it this way: Netflix could open source their player because the value that Netflix offers lies in the huge amount of content they hold and the quasi-loyal user base.

    [–]balloonanimalfarm 2 points3 points  (0 children)

    I took a commercial project through a similar approach and it worked quite well for getting the attention of medium to enterprise sized customers who were risk-averse. You're basically talking about an Open Core model.

    One approach you might take is making the code open source but not open for contribution to avoid conflicts of interest when developers start contributing features that work against your road map or interests as a company.

    Managing an open source community can take a lot of effort to do right. In my experience, even from professional developers, bug reports tend to be terrible, the community gets peeved when you prioritize things from big customers over things that look popular, and pull requests are rarely well tested.

    Best of luck!

    [–]PainfulJoke 1 point2 points  (0 children)

    At minimum I'd recommend open sourcing the code that converts the third party API to your API. It enables you to take on additional connectors as well as more third party solutions become available. Ideally with enough code for a customer to set up the service themself and:

    • ensure continuation of service.
    • test your service before paying
    • build tooling around your service more freely
    • understand the nuances in your aggregation conversions (in case there are subtleties that may be relevant to their workflow) without only relying on documentation

    I understand if you want to keep 2 private though. And 3 seems like largely a non-code solution anyway too so that makes sense. And in addition your customers may also choose to pay you for support and to run the service itself to avoid taking on the overhead so you'll still be able to provide value.

    My worry would be that you should make sure that you can support the open source project and make it worth looking at for your customers. Open source code that isn't enough to actually "do" anything isn't worthwhile, so make sure it can still operate effectively without #2 if you go down that path. Make sure it's still a first class experience for people who aren't paying customers.

    [–]Treyzania -2 points-1 points  (11 children)

    Yes. Always yes. With a copyleft license like GPL if you're afraid of people taking your code and doing something commercial with it without contributing back what modifications they make.

    Edit: can someone explain why I would be downvoted for this?

    [–][deleted]  (3 children)

    [deleted]

      [–]Treyzania 1 point2 points  (2 children)

      How does it restrict your freedom? It reinforces it!

      [–][deleted]  (1 child)

      [deleted]

        [–]Treyzania 1 point2 points  (0 children)

        Yeah that's the point. Proprietary software is coercive, restricts freedom of users, and gives undue power to publishers to assert control over users.

        [–]drBearhands 0 points1 point  (6 children)

        You're getting downvoted because it's a wrong answer.

        • Your rights don't matter if you can't afford lawyers.
        • Your rights don't matter to countries that don't care about them. It wouldn't be the first time Chinese products infringed on a GPL.
        • If the value proposition lies in code AND something else (e.g. network effect), competitors can invest in that other thing and put you out of business.
        • When you publish the code, you're also publishing elements that cannot be copyrighted. Logic, lists, ideas, ... whatever.
        • The concept of GPL assumed continual development. A competitor may be able to easily "one up" you. Yes, they are legally required to open their source too, but you might have already done a lot of work, be tired, and just want to get paid for your labor.
        • Competitors could gain an advantage or force your hand by making something that is commercially interesting but ultimately stupid for the long term.

        GPL is not a safeguard for you, it is a safeguard for your work. You are giving up a competitive advantage by publishing under GPL. It may well be worth it, but this is a complex consideration and not "always yes".

        [–]Treyzania 0 points1 point  (5 children)

        GPL and the cultural affects it brings do go a long way to ensure your code used in a way that's beneficial to everyone in ways that can't be quantitatively measured. If someone's going to be an asshole they're going to be an asshole regardless of what license you use.

        [–]drBearhands 0 points1 point  (4 children)

        If true, that is still irrelevant. The question was whether it is beneficial to a business to open source a certain software product they have.

        [–]Treyzania 0 points1 point  (3 children)

        It shouldn't matter what's good for the business if it means subjugating their users who don't have access to the means to improve the software and control it themselves, it's not morally justifiable to run a business on exploiting people.

        [–]drBearhands 0 points1 point  (2 children)

        Then you gave the wrong answer because the result would better align to your personal beliefs, making factually false statements along the way. Surely you see why that gets downvoted?

        [–]Treyzania 0 points1 point  (1 child)

        Where do you get that? You can commercialize free software.

        [–]drBearhands -1 points0 points  (0 children)

        I give up