Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

How do you go about selling your source code?

Discussion in 'General Discussion' started by yoonitee, Feb 3, 2015.

  1. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,364
    In the next week or two I'm going to be putting an asset on the asset store (if it is accepted). Most of it will be contained in a .NET dll file. But I'm sure that some people will be asking for the source.

    I'm not philosophically against this idea (for the right price ;)) but just curious what would be the best way to send them that? Somewhere which can be updated so they always have the latest source code? Or do you just send them the source code as-is?

    Also, do you think this is a good thing to do? For example, Microsoft and Apple never gives away it's source code, but Google uses open source for it's Android operating system, so which is the best policy?

    After all, if you spend a lot of months working on something you don't want to find that you've given it all away for free!
     
  2. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    The asset store won't let you have an open-source (License Agreement) trust me I tried, and got declined because of just that. So you'll have to figure out another place for Open-Source. They went on about the asset store Eula is what they had and covers everyone's rights, so it may or may not mention open-source in it, you can check it out.
     
  3. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    @N1warhead: The question is not about open source.

    @yoonitee: You can't stop piracy if someone is determined to do that, and it's fairly trivial to decompile your DLL files, so don't punish your legit customers and just include the source to begin with. All my assets include source.

    --Eric
     
    TonyLi likes this.
  4. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,071
    Plus if you keep your legit customers happy, they may tell other potential legit customers. It happens quite a bit on these forums.
     
    angrypenguin likes this.
  5. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,364
    Hmm.. Well I'm in two minds. I mean Apple isn't really punishing anyone by not providing the source code to their operating system. In fact it could be argued that since it doesn't provide the source code it has to make sure that it is so good that it doesn't need to be altered. Some people don't want the hassle of downloading all the source code.

    And if you update your dll that's easier than updating your source code if the client has all ready substantially altered it.

    That's why I was thinking of providing the source code just to those who want it. Maybe, no one will want it, then it won't be an issue!
     
  6. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,071
    An OS is also beyond the capabilities of its primary audience, the general public, to make any meaningful modifications whereas your product will be sold entirely to developers. You'll be competing with other products that may provide source code as well. Lack of source may cause your audience to turn to the competition.
     
    zombiegorilla and Ony like this.
  7. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    An Apple operating system isn't remotely comparable to an Asset Store code asset. 1) A tiny percentage of OS X customers would even know what source code is, never mind being able to make any meaningful changes. 2) Apple is a huge company that's not going anywhere, whereas you are an individual who could vanish at any time.

    No, that's not a serious argument.

    It's not a hassle; source code size is measured in kilobytes.

    --Eric
     
    Ryiah and Ony like this.
  8. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,364
    Does Unity provide the source code for it's game engine? How is that different?
     
  9. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    Yes, if you pay for it.

    --Eric
     
  10. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,364
    Exactly.
     
  11. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    Because that's their revenue model, and Unity itself is different from an asset (again with the large company vs. individual who could disappear into the night without warning). You could do a "pro" version that includes source code and a "standard" version that does not; I've seen a few people do this, but personally I don't agree with it. Regardless, the bottom line is that there's no good reason not to include source, and some people refuse to purchase any assets that don't include it.

    --Eric
     
  12. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    There are a lot of asset store customers who only buy if the source code is provided. From my experience, professionals usually want the source code, just in case it is needed, even if they don't actually want to touch it.
     
  13. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,364
    But a professional might pay $1000 for good asset with source code for their company whereas an indie developer might be happy paying $100 without source code. I know some people who buy assets specifically because they don't like coding! Maybe it's is best to go with two versions. (Even if it will annoy some people! But you can't please everyone!)

    I mean your source code might end up on a torrent site anyway. But you could say that about any media.

    For example if you worked for a company and made them an asset with source code for 6 months you might expect to be paid $20000+. So you can see it's difficult to just give these things away! What if one person buys it for $100 then it's like they've got 6 months work from you for just $100!
     
    Last edited: Feb 3, 2015
  14. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,804
    Still, your comparisons are kinda way off. Asset store is for developers and they generally expect that they can do anything with their purchase. I personally stopped buying all assets that seem to be dll only cause there were too many that lacked proper regular updating to match up latest Unity versions, had authors who abandoned theirs without a word or just generally if I needed small tweaking or feature I had to wait for author to implement it which could have been too slow or unreliable.

    "Source available upon request" is a mess too unless there is clear indication how it will happen. Manual emails with attachments just does not cut it. If you want to sell the code, make a pro version of your asset in the store and always update it same time as the regular version. If you want to make code available automatically for free for requesters, then setup a private repo for it with access or make a web system where latest code can be attained without delays (like with invoice id).
     
    yoonitee likes this.
  15. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,071
    If the asset is something unique, or difficult for me to produce my own solution, I might be willing to invest $100 without source code but in most cases I simply won't purchase it. I don't want to risk being stuck with an asset that I cannot make changes to, especially in the event that the author is not available for support, even as a hobbyist.
     
  16. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Indie developers can be professionals as well. I mostly meant them when I mentioned the professionals. Simply speaking, they wouldn't buy an asset for $1000 because it is likely too expensive, but the $100 version isn't an option either as it doesn't contain the source code.

    That is the risk you have to take when you publish something. That's just the way it works when you don't work for a company and you are responsible on your own. If you are not willing to take that risk, you shouldn't publish anything.
     
    Ryiah likes this.
  17. Zaladur

    Zaladur

    Joined:
    Oct 20, 2012
    Posts:
    392
    That's the entire point of the asset store. You do $20000 worth of work on a generic product that is usable by many people. Sell your asset for $100 to 200 people and you are all set. Meanwhile, customers get a somewhat generic item for $100 that they can tweak to their heart's content,, saving them a ton of time and money. Both parties win.

    In general, there's a no resale policy for assets, so its not like the person can tweak it and turn around and sell it (legally, at least. People may sometimes attempt it).

    I have never bought an asset I was unable to adjust in some manner for use in my project. If you don't include source code, I probably won't buy it, unless its a dirt cheap black box for a really simple and generic task.


    Edit: To be clear, the reason the company is paying you so much money is that A) the code is owned by them, and B) The code is custom designed for them. Neither of which are true on the asset store.
     
    Ryiah and zombiegorilla like this.
  18. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    8,952
    I won't purchase any asset that doesn't include code. Very few assets on the asset store are high enough quality/optimized that they can be dropped in and used as is. Without the code you (the purchaser) are creating a dependency with a black box asset. You don't know what is in it, how optimized it is and how much other junk is there that could be stripped out for your specific needs.

    There is a world of difference between a company like Unity/MS/Apple and some random person on the asset store, just as there is in scale between a game engine/operating system and a small script/component that runs on top of them.
     
    angrypenguin and Ryiah like this.
  19. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    $1000? That's got to be a pretty good asset if you hope to charge almost the price of the engine itself. What does it do, build an MMO with one button click? Considering most assets go for between 50 - 100, you are pricing yourself way out of the market.
    If you are building something on the scale of playmaker, then you might get away with not uploading your source code. You'll probably need several years of history behind you before people will trust you are here to stay. As well as some pretty good support and documentation.
    I personally won't go for assets without source. And will occasionally download an asset just to see the source and incorporate it into my own code base. Users don't often want to do exactly what you had in mind when you built the asset.
     
    zombiegorilla and Ryiah like this.
  20. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,500
    Sure, but think about the use case. Most operating system users aren't integrating that operating system as a component of other software they're developing. On the other hand that's usually exactly the purpose of selling code on the Asset Store - you want other developers to use it as a part of software they're creating.

    The former crowd is unlikely to want/need/know what to do with source code. The latter crowd, though..?
     
    zombiegorilla likes this.
  21. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    This is vaguely applicable to source code for assets.

    Point is unless you have established yourself as a trusted supplier (Apple, Unity, Microsoft), then selling without source is going to be difficult. For a user the following questions come to mind.
    • Can I trust this code to be valid in future versions of Unity
    • Can I trust this code to be optimised
    • Can I trust this code to do exactly what the documentation promises. And nothing else
    • Can I trust this code to work nicely with my other code
    • Can I trust this code to be flexible enough to meet my needs
    • Can I trust bugs in this code to be fixed in a timely manner
    Without source code, or a massive reputation, the answer is generally no to everything above.
     
    zombiegorilla, Ryiah and angrypenguin like this.
  22. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,500
    Can I trust this code to play nicely with the GC?

    Can I trust this code to not have nasty hacks that mess with my scene?

    Can I trust this code to work in general cases rather than specific ones?

    Can I trust the code not to conflict (name collisions, etc.) with other 3rd party code I have? (If neither come with source then you're stuffed!)

    If my needs change can I modify the code to suit?

    Does the code already fire all events relevant to my use case?

    In short, while I avoid modifying 3rd party code wherever possible the ability to do so is a huge risk mitigator even where the code is actually good.
     
    Kiwasi, zombiegorilla and Ryiah like this.
  23. delinx32

    delinx32

    Joined:
    Apr 20, 2012
    Posts:
    417
    I never buy assets without source code, regardless of the cost. Your code may do 80% of what i want it to do, and I'll have to do the other 20%. No 3rd party tool is 100% of what you need. Even grids, which is my favorite asset store purchase yet needs some modifications by me.

    Also, there is absolutely no way for me to debug your code if I'm having a problem with it, I can only see the source by decompiling it to figure out how to get things to work if its not clear. That may leave me waiting for days for a response to an email for support. I simply don't trust other programmers enough to provide 100% working code which is 100% ready to integrate into my projects. Plus, sometimes I buy an asset just to see how something was done. Ultimate toon water (great asset) is an example. I bought it and it did 90% of what I wanted, but I needed the water to flow in different directions based on tangents, and the included shader always put the water at a height of zero, I needed it to respect the Y of the vertex. I was able to use the included shader source as a base to make a version that supported what I needed. If I couldn't make those mods, then I practically wasted the money I paid for the asset.

    You can worry about piracy and how much money that will cost you, but it might make sense to worry about how much money you will lose because people like me won't purchase your asset at any price. People like me spend money on the asset store, people who pirate source code probably wouldn't buy it at all.
     
    Ryiah likes this.
  24. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,071
    Or the potential lost sales if one of those people, who may have to build their own solution as the only alternative, decides to put their solution up on the asset store.
     
    yoonitee likes this.