Obfuscation: Be wary of obfuscating everything. An alternative is to obfuscate just the critical bits (licensing, premium features). The problem with obfuscating everything is that stack traces from error reports are ineffective. When an unexpected exception is caught, you'll want to give the user the option of automatically reporting its details - this really helps with QC.
License enforcement: If it's a utility that can be easily pirated, people WILL pirate it. An activations-based licensing system is ideal - and if it's not too draconian people will be less motivated to circumvent it. For instance, allow at least 3 activations per user (home computer, work computer, laptop). If it's a control library, then an activation-based may not be required - baking the serial number into the library may be enough because customers are unlikely to build their own product on a stolen assembly.
Instant/automated purchases: writing a custom licensing server and web page for this is fairly easy - you need only about 3 tables. LINQ to SQL is ideal for this sort of thing. For the payment gateway, I use PayPal - it's very easy to set up, has the features you need for selling activation codes, and allows multiple currencies. If you use PayPal, enable both PDT and IPN so you can give customers their activation codes both on the screen and via e-mail.
Marketing: try LOTS of things simultaneously - because it's hard to predict the success of any campaign. Especially without experience! Making yourself known amongst the influential people in the field into which you're selling can work very well.
Advertising: advertise on StackOverflow - that's what I'm doing! Google ad words is also worth trying because it's so cheap to set up - you'll know after spending $10 whether it will be effective for you or not.
另外,如果您合并,您可能需要考虑 S 军团与 C 军团(如果您是一两个人作战,S 军团很棒)。 如果您不注册,您可以以独资企业或有限责任公司的形式经营,这两种企业都有优点和缺点。 这在很大程度上取决于您的产品(它的作用)、您的预期回报等 - 拥有一位好的律师和一位好的会计师是一个巨大的祝福。
You have most of the practical things listed out, in terms of actually getting a product from you to the customer -
However, there are a couple of things I'd also recommend.
Figure out how you want to handle all of your accounting/purchasing/billing/etc.
Rethink formal technical support (for money), but not at the exclusion of documentation
Talk to a lawyer regarding all of your licensing decisions, agreements, etc., as well as company structure
Talk to your accountant (and/or find one who is good at working with small tech companies)
Some of this will cost some money up front, but save headaches later.
The last two bullets are crutial - there are MANY options for how to setup yourself from a tax perspective, each of which has potential advantages and disadvantages depending on your specific situation.
For example, if you're in the US, there are many advantages to incorporation prior to doing anything on your checklist. If you decide to incorporate, you may want to do it in your state, but there are also advantages to incorporating in Nevada or New Jersey (very pro-corporate states legally). If you're successful, doing this early can save a huge amount of work over time and have significant benefits.
Also, if you incorportate, you might want to consider S vs C corps (S Corps are great if you're a one or two man operation). If you don't incorporate, you can run as a sole proprietorship or an LLC, both of which have advnatages and disadvantages. A lot of this depends on your product (what it does), your expected returns, etc. - having a good lawyer and a good accountant is a huge blessing.
If you're aiming at software development teams as customers then the sort of thing they are likely to expect to see (in addition to the ones you listed) are:
A download service for any additional items and/or patches that the user might need.
Tight version control/configuration management processes so that it's easy to find out what version of the product they have, what they need and what the differences are between versions.
Email/online bug reporting.
A demo/trial version of the product.
A good set of tutorials.
Community support e.g. developer forums. This is a good 'value added' service that can also help with the fact that you have concerns (as a one man company) over being able to provide 'formal technical support'. Hand out a few badges and reputation scores and get a free technical support team ;) ... but if sales take off, seriously consider providing 'formal technical support', it can make a huge difference to the perception of the product.
... and make sure that the website, download service, license server, forums etc are all properly secured and done to a professional standard. If any of the peripheral services are less than 100% then it all reflects badly on the product, especially when yours is a technical one.
You might not want to provide formal technical support, but you could look for creative alternatives like some sort of moderated forum for issue resolution. Also, provide at least an email address for someone to contact you.
Another thing is to hire some sort of designer to make your product, documentation, website, etc look good. It is generally easy to tell programmers who attempt design.
发布评论
评论(4)
一些提示:
混淆:警惕混淆一切。 另一种方法是仅混淆关键部分(许可、高级功能)。 混淆一切的问题是错误报告中的堆栈跟踪是无效的。 当捕获意外异常时,您需要为用户提供自动报告其详细信息的选项 - 这确实有助于质量控制。
许可证执行:如果它是一个很容易被盗版的实用程序,人们就会盗版它。 基于激活的许可系统是理想的——如果它不是太严厉,人们就不会那么积极地规避它。 例如,允许每个用户至少激活 3 次(家庭计算机、工作计算机、笔记本电脑)。 如果它是一个控制库,那么可能不需要基于激活 - 将序列号烘焙到库中可能就足够了,因为客户不太可能在被盗的组件上构建自己的产品。
即时/自动购买:为此编写自定义许可服务器和网页相当容易 - 您只需要大约 3 个表。 LINQ to SQL 非常适合此类事情。 对于支付网关,我使用 PayPal - 它非常容易设置,具有销售激活码所需的功能,并且允许多种货币。 如果您使用 PayPal,请启用 PDT 和 IPN,以便您可以在屏幕上和通过电子邮件向客户提供激活码。
营销:同时尝试很多事情 - 因为很难预测任何活动的成功。 尤其是没有经验! 让自己在您所销售的领域中具有影响力的人士中广为人知是非常有效的。
广告:在 StackOverflow 上做广告 - 这就是我正在做的事情! Google 广告词也值得尝试,因为它的设置成本非常低 - 花 10 美元你就会知道它是否对你有效。
祝你好运!
Some tips:
Obfuscation: Be wary of obfuscating everything. An alternative is to obfuscate just the critical bits (licensing, premium features). The problem with obfuscating everything is that stack traces from error reports are ineffective. When an unexpected exception is caught, you'll want to give the user the option of automatically reporting its details - this really helps with QC.
License enforcement: If it's a utility that can be easily pirated, people WILL pirate it. An activations-based licensing system is ideal - and if it's not too draconian people will be less motivated to circumvent it. For instance, allow at least 3 activations per user (home computer, work computer, laptop). If it's a control library, then an activation-based may not be required - baking the serial number into the library may be enough because customers are unlikely to build their own product on a stolen assembly.
Instant/automated purchases: writing a custom licensing server and web page for this is fairly easy - you need only about 3 tables. LINQ to SQL is ideal for this sort of thing. For the payment gateway, I use PayPal - it's very easy to set up, has the features you need for selling activation codes, and allows multiple currencies. If you use PayPal, enable both PDT and IPN so you can give customers their activation codes both on the screen and via e-mail.
Marketing: try LOTS of things simultaneously - because it's hard to predict the success of any campaign. Especially without experience! Making yourself known amongst the influential people in the field into which you're selling can work very well.
Advertising: advertise on StackOverflow - that's what I'm doing! Google ad words is also worth trying because it's so cheap to set up - you'll know after spending $10 whether it will be effective for you or not.
And good luck with it!
您已经列出了大部分实际的事情,就实际将产品从您那里提供给客户而言 -
但是,我还建议一些事情。
其中一些会预先花费一些钱,但可以避免以后的麻烦。
最后两点至关重要 - 从税务角度来看,如何设置自己有很多选择,每种选择都有潜在的优点和缺点,具体取决于您的具体情况。
例如,如果您在美国,那么在执行清单上的任何操作之前注册公司有很多优势。 如果您决定注册公司,您可能希望在您所在的州注册,但在内华达州或新泽西州(法律上非常支持公司的州)注册也有优势。 如果您成功了,尽早这样做可以随着时间的推移节省大量工作并带来显着的好处。
另外,如果您合并,您可能需要考虑 S 军团与 C 军团(如果您是一两个人作战,S 军团很棒)。 如果您不注册,您可以以独资企业或有限责任公司的形式经营,这两种企业都有优点和缺点。 这在很大程度上取决于您的产品(它的作用)、您的预期回报等 - 拥有一位好的律师和一位好的会计师是一个巨大的祝福。
You have most of the practical things listed out, in terms of actually getting a product from you to the customer -
However, there are a couple of things I'd also recommend.
Some of this will cost some money up front, but save headaches later.
The last two bullets are crutial - there are MANY options for how to setup yourself from a tax perspective, each of which has potential advantages and disadvantages depending on your specific situation.
For example, if you're in the US, there are many advantages to incorporation prior to doing anything on your checklist. If you decide to incorporate, you may want to do it in your state, but there are also advantages to incorporating in Nevada or New Jersey (very pro-corporate states legally). If you're successful, doing this early can save a huge amount of work over time and have significant benefits.
Also, if you incorportate, you might want to consider S vs C corps (S Corps are great if you're a one or two man operation). If you don't incorporate, you can run as a sole proprietorship or an LLC, both of which have advnatages and disadvantages. A lot of this depends on your product (what it does), your expected returns, etc. - having a good lawyer and a good accountant is a huge blessing.
如果您的目标客户是软件开发团队,那么他们可能期望看到的东西(除了您列出的之外)是:
...并确保网站、下载服务、许可证服务器、论坛等均得到适当保护并按照专业标准完成。 如果任何外围服务低于 100%,那么这都会对产品产生不良影响,尤其是当您的产品是技术性服务时。
If you're aiming at software development teams as customers then the sort of thing they are likely to expect to see (in addition to the ones you listed) are:
... and make sure that the website, download service, license server, forums etc are all properly secured and done to a professional standard. If any of the peripheral services are less than 100% then it all reflects badly on the product, especially when yours is a technical one.
您可能不想提供正式的技术支持,但您可以寻找创造性的替代方案,例如某种用于解决问题的主持论坛。 另外,至少提供一个电子邮件地址,以便有人与您联系。
另一件事是聘请某种设计师来让你的产品、文档、网站等看起来不错。 通常很容易告诉尝试设计的程序员。
You might not want to provide formal technical support, but you could look for creative alternatives like some sort of moderated forum for issue resolution. Also, provide at least an email address for someone to contact you.
Another thing is to hire some sort of designer to make your product, documentation, website, etc look good. It is generally easy to tell programmers who attempt design.