Hanalei, Hawaii 9/2/2010
438 Posts and Counting

SubSonic Support

Tuesday, September 08, 2009 -

I got to talking to Ayende today about his support model for NHibernate that he’s working on and it made me think a bit – I have users in much the same circumstance:

One of the oft repeated objections to using NHibernate is that there isn’t someone that you can officially complain to. Some organizations put great store in having someone to officially complain to :-)

I’ve heard that a lot with SubSonic. Basically people saying “I would gladly pay you to be on the other end of the line to be sure we can get through a problem, fix bugs, etc”. Now that I’m on my own I think I can help with that.

I’d be happy to follow Ayende’s lead (completely recognizing that I’m a smaller audience) – and if this would be of interest to people please do let me know. Here’s NHProf’s policy – I suppose I would do something similar.

I’d love for SubSonic to grow legs and a smiley face, relying on community support/patches to move it forward. The problem is that it takes a whole lotta time – especially when a corporate user comes up against a big-time issue and needs some love.

Would love to hear your comments.

Related


Gravatar
John Sheehan - Tuesday, September 08, 2009 - I think its a great idea. The only problem you could get into is avoiding the desire to rewrite every app that needs support. You'll come across some crazy configurations and use cases which might cause an urge to "fix it all" but if you can focus on just the problem at hand, you won't run the risk of getting caught up in bigger issues and spending too much time on it.
Gravatar
hilton smith - Tuesday, September 08, 2009 - this sounds like a great idea.. just make sure you clearly define what is and what isn't your problem!
Gravatar
Steve Trefethen - Tuesday, September 08, 2009 - Alternatively, my employer offers a service called Consulting Express where people can pre-pay for 1 hour of consulting support over the phone/gotomeeting. It's popular and includes an appropriate disclaimer for such engagements.
Gravatar
Ferry Meidianto - Wednesday, September 09, 2009 - You deserve it dude...
Good for you (and your family) and still good for community.
Gravatar
Doug Rathbone - Wednesday, September 09, 2009 - I fully support this and would love to get my company to sign up with you.

My only concern would be that my number one worry is that SubSonic stay free for all and still a community commodity - simply that you can additionally purchase support from their head guy if and when you need it.

My additional concern would be that this would not limit the spread of help from all parties on subsonic topics in the hope that this would funnel more work to the "support" crew. I love the Stack Overflow response time :-)

I know that given your history none is this is a "real" worry, but i put it out there none the less. SubSonic has a pretty "Rails-like" following, so i hope that this wouldn't follow suite in the long term produce and end up with a "F*ck you" powerpoint ;-)
Gravatar
Andy Meadows - Wednesday, September 09, 2009 - Love the idea, Rob. Just make sure there are constraints in place that dictate the "guidelines" under which support is available. I know you're all too aware of this, but fixing an actual bug is much different than helping incorporate changes into the platform to make it behave like someone else thinks it should.

Certainly you could provide guidance on altering the code, but at that point you would move beyond a support contract and become a full-fledged consultant and I think you should clearly delineate where that line is before providing the option.

Kudos on taking the leap back to self-employment. All the best.
Gravatar
Chris Kolenko - Wednesday, September 09, 2009 - Please consider price.. 750 euros for 2 phone calls per month.. it isn't clear if it's 750 per month..

but if it costs me 375 euros for a phone call i'm not going to hang up lol.. it would start of with
Hey Rob, how was your weekend?? ...
3 hours of boring small talk
5 mins to get my question answer
12 hours of more boring small talk lol

it would work out to be 24.87 EU per hour lol..
which is still above my hourly rate :(
Gravatar
Adam - Thursday, September 10, 2009 - Sounds like a great idea to me, especially if it allows you to dedicate more time to making subsonic even better. Hopefully it might also give corporate types more confidence to start using subsonic because it comes with commercial support and they've got someone to call if they need to. I think the only drawbacks could be

1. How you delineate what's a support issue and what's an issue with your clients code/usage pattern. But that's pretty something all developers, especially those providing tools, have to deal with and is obviously not going to be insurmountable.

2. That some people who might otherwise contribute will think "Hey Rob's getting paid to do this, why should I bother." To be honest though I think the majority of commiters/helper outers would think "Hey Rob's worked really hard on subsonic and it's awesome and I'd like to make it better, good luck to him if he's earning some money from subsonic. He deserves it!". I'd definitely be in the second camp obviously :)

Oh and maybe if you're getting paid you'll get round to improving that lame, sucky documentation ;)
Gravatar
brianrush - Sunday, September 13, 2009 - You know what I always find ironic? It seems that one of the arguments against opens source is you don't have someone to call up and complain too? Just like Rob quotes above. Don't you think that if the open source project is worth half a salt then the community will rally around any complaints? In other words try to solve the problems because there is a vested interest/vibrant community.

Similarly if you call with complaints for a paid piece of software, they likely wind up in the same hands as the people writing open source software. In the end it comes down to people who just care. You can always tell the projects that care. I definitely think SubSonic falls into this category. Besides some problems can simply be solved by rolling up the sleeves, cracking open the software and finding a solution.

Thanks Rob.
Gravatar
Jim - Thursday, September 24, 2009 - Complaining works - sometimes. I have learned that paying for something doesn't mean it is better. For example, my company pays thousands of dollars for support for an ERP application, and their support is miserable. We pay them so we feel justified to call up and complain every once in a while, but the support is still really bad. If we had the source code, we wouldn't pay them a nickel.

On the other hand, I personally use 3Essentials for web hosting, and pay them next to nothing each month, yet they have the best service of any company I have ever worked with. They devote many resouces to their service and it shows.

Will you not fix bugs unless you get paid? Will you fix more if you do? Will you care more? Will you hire others to keep up a certain level of support to meet expectations?

Making a business out of it will certainly change it. Maybe that is good, maybe that is bad. If it is a matter of getting money so that you can spend more time with it, you could put a paypal donation link on your site. I know we'd contribute.
Gravatar
david parker - Friday, September 25, 2009 - i think its a bit much and could maybe alienate people that can not afford it, but still require support.
however if you had your OWN forum and got together some really good documentation and FAQ then it would be justified as you are offering an alternative solution with the paid solution if you did without the other things in place then you could essentially be making it the only solution (apart from stack overflow).

But i think another angle could be a subsonic specific book, you've been there before so you know how it works
and a book out there on subsonic would only help to make it grow, bring more people,experience and ideas.
Gravatar
Jonathan Tien - Tuesday, September 29, 2009 - I think the amount of love you put into Subsonic really deserves reward, I am quite sure you are the unsung hero of many a project via this. However I could REALLY REALLY use a good book on Subsonic, your examples are good, but to be honest you need something more comprehensive just like the MVC 1.0 book for subsonic and PARTICULARLY how you could use Subsonic and MVC in harmony. I know a book takes time... so I would even settle (i.e. buy!) for a shed load of videos (I know you have a few, but you could flesh em out into some super tutorials), you have a good flare for webcasts, a good example would be the video you made on MVC.net (the 80 min runthrough). Even get your buddy Scott in there for good measure!

I really think that a good e-book/video series would be worth the buy, I would certainly buy it and i think you would find I wouldn't be alone in this opinion.
Gravatar
Ali Ozgur - Tuesday, October 06, 2009 - I think you must decide in which category of Open Source is SubSonic located.
1- Is is a real open source project as defined by OSI
2- Is it an open source project like ASP.NET MVC is

If SubSonic is in the first category, I believe NHibenrate is in that category, Ayende's commerical support offering is not acceptable. Since bug fixes are included in that offering and you are a commiter that would not sound right to the community.

If SubSonic is in second category and you decide that SubSonic is open source but main official release is maintained and owned only by you or a company that commericial offering is ok.
Gravatar
Rob Conery - Wednesday, October 07, 2009 - Right now there are 4 people with commit rights, but we accept patches all the time as long as they work. I assume there are a few more with commit rights to NHib and yes, that code is copyrighted to the person who wrote it. Code is always copyrighted unless you assign those rights to someone else. This is completely different than OSI licensing.

If you wanted - you can charge for bug fixes if you wanted to, but that's not what Ayende (or myself) are charging for. What we're wanting to charge for is our time to get on the phone with you which is much different. Bug fixes might roll out of that (and probably will).
Gravatar
Sean Conery II - Monday, October 12, 2009 - I had a problem with subsonic that took me a lot of time and ended up using stored procedure. My problem was about the timestamp column in one of my table. This field is required because sqlserver automatically generated it. Since this column is required subsonic included it in the insert query.. Did you encounter this problem? How long it took you to solve this? Did you like your solution?
Gravatar
soief - Wednesday, November 18, 2009 - I had a problem with subsonic3.0 when update a object.
[code]
int result = db.Update().Set(x => x.name == classs.name, x => x.ParentID == classs.ParentID).Where(x => x.ClassID == classs.ClassID).Execute();
if (result < 1)
return false;
else
return true;
[/code]
when I Execute it, the exception is throwed out.
then I thry the other way:
classs.SetIsNew(false);
classs.Save();
There is no exception,but the datastore is not be updated. can you tell me the correct update method. thank you! :)