Open Letter to Component Developers and Vendors: Sell Your Code, Too!
I work at a small shop. We work smart. Pretty agilely, for the most part. We have also built up a large repository of code, both AS2 and AS3 amongst other platforms (PHP, ASP .Net, etc) and do benefit a lot from intelligent reuse of assets and a very cool custom LCMS we have built that integrates with a really well developed modular Flash front end for e-learning content… however, we don’t have every conceivable interaction type, UI widget, data parsing doohicky and whatever else could come to a client’s mind lurking around on our servers. Sometimes, we have to go to the web and find or even buy components. When it’s a question of buying a component for low price or spending a large amount of hours to replicate that functionality with custom code, oftentimes we really don’t have much of a choice. When deadlines loom or other projects are pressing, it’s just a easy decision to make. We buy the component. We probably have a library of about a dozen components or extensions for Flash we have purchased at one point or another.
Here’s my gripe. The vendor’s typically sell the components as compiled MXPs, which is understandable. The packaging makes it easy to buy, download, install and use. Not so easy to modify, which if that’s what you want to do, you’re out of luck. Last week, a component we purchased forced me to program some hacky workarounds because of that fact. It’s a great component, really. It was just lacking a couple key events I wanted to use to trigger some interactivity and external asset loading. A quick visit to their forums showed me that a number of other users were looking for similar capabilities. I posted my current workaround and a couple other little functions that some of the users might find useful to learn more about the component. Here is what I’d love to see…
Sell the code, too! If your component is $50… why not sell the code with the MXP for $100, or $150, whatever you need to help protect your intellectual property from piracy or pilfering but offer your customers the flexibility they need. This will help cement your reputation with developers that need that power and stop the need to respond to support forum post after support forum post with the repetitive “We don’t currently offer that feature in the component at this time, we may add that in a future release”. That support forum post wouldn’t be necessary because if we needed a new listener, a new data type, a new UI widget or any other extended feature, we could have it.
Some of the absolutely most useful bits of Flash code I have used or reused didn’t come from closed components, they came from the Adobe open source stuff on Google Code, The Casa Framework, and Tweener. All open and all free. How about you? Do you know or use any commercial component vendors? Who are the easiest to work with, who has the most open licenses? Most editable code, best support? I’d love to learn how you are maximizing your time out there with 3rd party code, components and APIs.
Posted on May 11, 2008
My del.icio.us




Leo May 13
I agree.
Especially when it comes to Flash components I think selling the source makes sense.
Since there is no good way to implement copy protection one would think that it would mean less incentive for protecting the source.
The only reason for doing that what I can see is that you are worried about people not only using your source in their projects but instead using it to develop components that will compete with your own.
I’m not so sure if that’s really much of a valid concern, especially since it’s not to hard to decompile an swf to inspect the source anyway.
But it is quite a common attitude that protection of your intellectual property always takes precedence over convenience for the customer…even if that protection in practice is useless. Look for example at the hassle that the protection for Adobe products have caused their customers.
And the question is how much have it actually reduced piracy?
I sure didn’t by Flash because it’s hard to find a pirated version thanks to their protection system.
Killian May 13
Note to Chad: Sell some premium versions of _your_ components too
Consulting is nice, but selling software is more fun and profitable.
From our perspective we don’t like to sell our source because someone could just recompile it and turn around and sell it themselves or otherwise abuse our licensing.
Leo May 13
The thing I wonder is that if someone disregard for your licensing wouldn’t they be happy to just decompile the swf and recreate the component that way or use snippets they want for their own version?
I just checked some components I have, and they are not obfuscated or protected in any way.
Of course it’s a bit of extra work and would violate the license and hence not something I would like to do to make an alteration I need for a project.
But for someone intent on stealing your work to profit from it it’s a lot easier that writing their own from scratch.