Python Forum
Intellectual Property safety using python?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Intellectual Property safety using python?
#1
Hi, I am a freelancing QA engineer.
I notice a lot of my work tends to be very similar: browser automated testing, api automated testing, monitoring logs, etc...
I have devised tools to automate my work and allow me to help more customers and at a higher quality.

I've written these tools in a very hacky python. Just to get the job done. And I know exactly what's going on. So, I work around my own bugs easily :D

Recently, I've been toying with the idea to sell these tools. I see what's on the market, it's very cumbersome (which is why they hire me) and buggy, and the features you need the most - you don't have :)
I think I have a knack for boiling down the work the customer wants to have done and do that in a streamlined way.
With a little tightening of some screws, fresh lick of paint, my python-based tools can easily compete with the commercial solutions out there.

However, I don't know how well does Python hide my code.

So, is there a way to keep my IP under python?
Reply
#2
No. Even if you compile it to executable program it can be reverse engineered by someone skilled enough. Doesn't matter the language or anything else. A proper license will do the job. I hope. If one uses your code without your permissions you can sue him. For a lot of money. Cool
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply
#3
Oh, yeah, there's no doubt things can be decompiled. I worked 3 years for a company that ripped off IBM software. And that company wasn't some small start up, it's one of the biggest software producers in the world.
Everything is "reverse engineered from public documentation" of course ;)

Heck, I also worked for a game studio under the same brand as the second largest game distributor in the world, where we took a mario carts cartridge and dumped the rom, changed sprites and a few things and resold that.
That game was sold under one of the most recognisable franchises in gaming ever and I've been the lead game designer on it (needless to say I quit that studio pretty soon)

What I do want to say is that while everything can be analysed, it's a whole different story than simply giving people the code.
Reply
#4
I code for fun and I am not a professional. You know all I said better than me. However, ... just do it like everyone else. Make it an executable or installable packet for easy distribution. It's needless to say that you can't force the people to install python to run it for example. It has to be ready for usage right away. Think like your clients. What you need, how do you prefer to get it. It must be easy to use it, not full of buttons and checkboxes. Clear and comprehensive interface. Well structured and easy to follow documentation with many examples. Both GUI and command line interfaces. It's not a bad idea to have two versions of each program. The first one you can give for free with limited capabilities, just the most trivial functions. The second for a price, full equipment - online support or help for a period of time. If you sell something you have to sell it to everyone if you can. That is one way to reach more people.
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply
#5
glad I talked to you. It made me think that what I want is not to mass sell the product, where it will eventually be... shall I say "forked"? :) without my permission.
I want to sell this to 5 of my existing customers, who would each save a lot on my services but I will get 5 license subscriptions and then chase another 5 and that's plenty of income for my humble ambitions.

About the design, I agree with most of what you said. More or less buttons is not a bad or good thing. As long as everything is following their workflow logic intuitively.
The biggest problem I see is that people require commercial level functionality from something that's entirely supported by enthusiasm. It's either sleek but unreliable or the interface is following some convoluted logic which you have to learn and if you are a world class expert in your field, the last thing you want to do is learn to deal with some secondary development software
Reply
#6
Quote:I've written these tools in a very hacky python. Just to get the job done. And I know exactly what's going on. So, I work around my own bugs easily.

Your customers hire you for your expertise in your field.

To distribute code for others to use, that is not bullet proof is probably a fool's errand. A professional can probably cause your code to fail in less than five minutes, and a novice in less time than that, because novices always press the wrong buttons in the wrong order, and have data that is not what the software expected.

You make your money as a professional in your field. Do you really want to jeopardize that by:
a. tarnishing your reputation by distributing something that is less than perfect.
b. using your valuable time answering as a 'customer service hotline' for real questions/problems and idiotic questions/problems.

Before you even think about selling, have one or two of your customers take your software for a test drive.

Lewis
To paraphrase: 'Throw out your dead' code. https://www.youtube.com/watch?v=grbSQ6O6kbs Forward to 1:00
Reply
#7
What does mean "commercial level functionality". MS Windows is a commercial piece of software for sure but that didn't reduce the total disappointment of Windows Vista or 8. And I don't think that it is full of functionality. SSH client and server came with the last updates just now. Notepad finally recognizes \n as a new line after more than 30 years. And if I have a business I won't use version 10 which is officially opened for the bunch of three letters organizations. That means everyone can see what I am doing.

A commercial software doesn't mean well done or stable or full of functionality by any means. It must do its job well. With a little effort as possible. But nowadays everything has to be shiny and polished. If it looks well that means it will work well Big Grin It's good to look well but that comes last.
Where the world goes!

@ljmetzger has a point.

But ... both MS and Google did one thing. They produced one product and sold it to everyone.
If you want to do something be smart.
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020