Closed source?
Some interesting observations about my experience in shipping commercial software. It seems like the notion of closed source isn’t really working.
Torkel has developed an application using the NH Prof architecture, peeked via reflector. And no, I don’t really mind.
The part that really blew me away was when I started getting patches for NH Prof. No, they didn’t have the code, but they were able to:
- Follow a pretty complex internal interaction
- Isolate the actual part that caused their problem
- Provide a solution and send it to me
From my part, I was able to just take their solution, apply it and commit, resulting in a build that they could download in a very short time.
So far, it seems to be working.
Comments
The joys of .net!
I do this a lot with the .net DLLs because it is not clear on what is actually going on under the covers.
There are ways of obscuring source from decompile tools, but any JIT style language is going to have this problem. It's something we deal with constantly.
I really don't care too much, because anyone who's going to take the time to do that is probably a programmer and probably not in my market audience anyway.
The real problem is that it is not really that hard to decompile into full source, remove the licensing part and compile it back.
That is why you should obfuscate at least some parts of your source.
funnily enough there was an article in last week's SimpleTalk by RedHat on how this aspect of .net code, made so accessible by Reflector, allowed me to rescue a client of mine who had a product to support, but no source code!
www.simple-talk.com/.../.net-reflector-saved-th...
RedGATE! not RedHAT!
Phew!
Glad you didn't mind, I should have asked :)
You see, that's what happends when you have clean, well separated, non-overcomplicated architecture with appropriately named classes and variables.
You should turn it inside into unmaintainable mess, and then on top of it, obfuscate it. ;)
And back on a serious foot. I peeked into the app as soon as I downloaded it and I was surprised it was not obfuscated. Very few commercial apps are so permissive.
I did such "patch recommendation" for an app some time ago, and I think it is a good thing for application not to be obfuscated. After all if it is not a library there is no reason for anybody to "re-use" the code.
Btw, it is great you are using Caliburn.
Native code stops all.
In my opinion, application should be closed sources but libraries open source.
Ahem... more than ten years ago, cracked games (i.e. binary executables that were modified to remove some sort of protection, with no access to the source other than disassembled x86 ASM code) were already common.
So, nothing new here.
@Fabien
Yawn, smack, smack, smack, oh please Fabien you took the bait again. Ever gonna learn?
Just another wannabe cracker. Go back to your Play Station - Madden 2008 awaits - or is it 2009 by now? The rest of us were too busy programming to keep up.
Any developer worth his salt stops crackers dead in their tracks. Just because Microsoft et al. doesnt use "real" forms of protection such as dongles etc. doesn't mean native code is crackable.
As often as you take the bait you must be the guy who keeps cracking my honey traps but bypassing the real protection routines. Oh well, it keeps you busy and off the playground.
Heh, it's not the first time I'm amazed by the comments from Mr_Obfuscation, but what the **** has a Playstation to do with native crackable code from Microsoft? At least he made me laugh :)
On topic: I think it depends on your audience. The audience for NH Prof is more capable of making patches (and more likely to pay) than the average PC user, I think. I'm not sure if I'll ever get a patch from my clients... Really cool that you do get them though!
@alwin
Per my comments on native code, it was simply a troll play off Ayende's comment "And no, I don’t really mind."
Hooked Fabien - provides immature humor for me after a long day of coding.
With respect to your comment about NH Prof, I agree completely about paying for the tool as I got in on beta pricing because I know value when I see it.
Now if I could just get Ayende to tell me what his hourly rate is so I can hire him to punch out some much needed code.
So Oren how much? And naw, I dont want to send an email if you are comfortable publishing your rate here.
I'm sure there are plenty of others with the same question.
If your desparate to ship a release, being held up waiting for a patch from vendor is really frustrating.
The biggest "protection" from piracy is good support and regular patches and updates that continually improve the original product. This offers a good incentive to customers to pay license fees / subscribe.
Too many vendors believe their product is finished, when often it could benefit from futher refinement. I'm not condoning adding features just for something to shout about either.
The other difficult thing about software is pricing, I often think vendors would be better to offer guidance on pricing and get customers to pay what it is worth to them based on how they will use it then sell support separatley.
Case in point is SPLUNK our company is evaluting this cool tool that indexes log files. However they sell a license based on the amount of data you index. It just so happens that we log a lot of XML which bloats the files so we are already into their Enterprise licensing price range which may make it too costly.
Comment preview