[SOLVED] Make a closed-source C Program for Windows, Mac and Linux/Unix.
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Distribution: UBUNTU 5.10 since Jul-18,2006 on Intel 820 DC
If the project is not web based, then whats the problem?
But they may reverse engineer it and steal your soul.
No honestly if you provide only the compiled program there is a low chance anyone "stealing" the source code.
But like with everything if you give something to someone you never can be sure what he will do with it. And can not be prevented with any means. Beside locking him up and erasing his memory and feelings afterwards so he can't even remember a single bit *pun intended*.
But I would not think about such malice there are more nice people than evil people. Just make a decent price and people will refrain from illegal stuff like sharing or distributing it through dark channel.
Since I do this sort of thing professionally, I can advise ... and I'm not going to say perhaps what you expect from someone who is posting "here."
What you would need to be able to do is to build installers for each environment ... appropriate to each environment ... and to thoroughly validate and test your program in all of them, and to maintain that for every customer going forward. ("Virtual machines," run by purchased software such as VMWare on whatever host-environment most suits you, and externally connected hard-drives, are ideal for this, because you do need isolated environments but you don't need a room full of computers.)
Important: This represents an ongoing expense-item that you will need to factor into the ongoing cost of your product. You need to sell the product with mandatory periodic maintenance fees, which you should handle by means of, say, a PayPal "subscription" that collects money several times each year. You need to thoroughly plan-out the maintenance and support equation.
Only the Linux environments can be expected to support "open-source" installations. Neither OS/X nor certainly Windows users customarily have any sort of language-compiler on their systems. Furthermore, even the preponderance of Linux users really don't care whether the product that runs their family business is "open source" or not: they want a drop-dead easy, guaranteed-to-work installation process, and a toll-free telephone number (hint: use Skype instead) to call if it does not.
Environments can be subtle. Both Apple and Microsoft right now are making rather big changes to their systems, partly to steer them in the direction of portable devices which they fear are taking hold. Those differences can be problematic for you.
Seriously consider whether you really want to support all three environments at once. Poll your potential customers to find out. Do an inventory of the competition and see where they have chosen to concentrate their efforts. People who really like your product just might go and purchase "whatever computer you tell them to" just to use your product on it. The name of the game is profitability, and "dissipation" is a good way to lose those profits. In other words, move in the directions that your paying clients tell you to.
A business-plan will be very important at these early stages, for your family (your "internal clients") and for you ("the IT manager"). Really test those waters, really work-out the thing on paper, "discover every thing that might possibly bite you in the asterisk before it has a chance to do so, so that it never does." Engage every business stakeholder: you, your family, maybe some potential customers. "Forewarned is forearmed."
Last edited by sundialsvcs; 09-14-2012 at 08:08 AM.
If you are programming in anything that compiles down to an executable (or executable and specific libs) you simply hide the source and only allow installation of your executable and libs. This easily gives the end users access ONLY to your product, but not to the source code.
While it is possible to reverse-engineer software from the executable, it is not something most people could handle.
If you share a machine with some of these people, consider doing your development work in a TRUECRYPT folder so that all of your source will be encrypted and only available to someone who knows your password. And do NOT share that password!
Originally Posted by suttiwit
I think I will use base64 to encode and the installer will decode.
Distribution: UBUNTU 5.10 since Jul-18,2006 on Intel 820 DC
Originally Posted by AnanthaP
You are right. It is executed in the front-end (browser). They are 2 different things.
What I meant to say was that the contents of the included scripts aren't visible in the "view source" option of the browser.