How do I protect my developed objects being reused by others
terjekj
Member Posts: 7
As all sourcecode is open, it is easy to export and/or modfy a object. Just renumber object(s), and your running with some code you found. Many do have a business of developing code for markets/businesses. But how to protect ](*,) your code/objects?
Is one solution to have an external program(ocx/com) your're calling - from within vital objects that only you have - or give access to your customers ? If you don't have this piece of code, the objects won't work.
Then it is not that easy to 'steal' code. Any other recommendations ? \:D/
Is one solution to have an external program(ocx/com) your're calling - from within vital objects that only you have - or give access to your customers ? If you don't have this piece of code, the objects won't work.
Then it is not that easy to 'steal' code. Any other recommendations ? \:D/
0
Comments
-
seems impossible to me.In a world without Borders or Fences, who needs Windows and Gates?0
-
It is not possible... only barriers can be made, but still the code can be stealed.0
-
You should create an add-on for your objects and use Navision Add-on Licensing Process to register your Add-on solution. Microsoft assigns you an object range and provides you an add-on license.0
-
But still the objects can be renumbered and used by other...
0 -
Hi,
When you use Add-on, others cannot export your objects into txt files. They also don't see your code anymore.
You get a special development licence for your Add-on and another one for using its functionality.http://www.NaviTools.com
Documentation for Microsoft Navision
E/R diagrams, Workflow diagrams, UML diagrams, process diagrams0 -
Yes, but still you can Ctrl+C, Ctrl+V, etc... (I will not describe whole process) and export into text.... (and you need only read access to this objects = user licence)0
-
I think that when you get an Add-on license you can specify what permissions are granted to objects (you're basically defining the permissions for your granule). So:
1. Store all your business logic in a single codeunit.
2. All your tables, reports, forms, etc. call that codeunit, and have full permission to it.
3. Your add-on will have 2 granules: a "base", which let's the user run the tables/reports/forms/etc (RIMDX), and a "super", which only allows Execute and Delete permission (---DX).
For reference, check out Codeunit 37003000 in North American version of Navision 4.0. Even though I'm a developer, I can't design or import/export that object.0 -
Kine is correct even though you cannot directly design, export etc the codeunit it is still possible to get into it.
there is no fool proof way to stop someone from stealing your code from a Navision object
just ways to make them take more time.
Ian0 -
Put a copyright notice in the Documentation trigger. It doesn't stop anyone but it at least makes them think.
Serenic does this for all of their Navigator 'touched' objects. Lots of folks would love to implement 10 globals across Navision and it's all there but any Serenic certified developer to look at.
Or figure out how to put one of these in the code -> [-X0 -
note of caution, before you make your code untouchable make sure it won't need to be modified to work in a customers environment.
I am an end user and we buy add-ons that provide value, don't really think there is a lot of end users stealing your code, as you need developer license to export to text, as well as access code units and cal code in forms, so the person you are trying to stop from stealing your code is really other Navision developers, which should respect the work you have done and not steal it anyways.
But if I am looking at buying your add-on, I want to make sure my solution provider can tweak it to run in our environment.0 -
If one can make the add-on throw an error, he can see the code in the Debugger, no matter what.0
-
Besides, think about this: for those add-ons, that are only business logic extensions, running completely within Navision, the code does not worth much. What worths much is the general idea, concept, the embodiment of experience. Write an add-on - without using any external COM etc. - in 300 days and anyone can rewrite it in 30 days even without having access to the code, just by playing around with it, because the concepts, the behaviour, are what worthy. Look at a some complicated code, like Inventory Adjustment. Once you finally grasped how the hell it works, what it does and why, even without looking at the code, how much would it take to rewrite it? Not much.
Besides, you cannot even write really complicated code in C/AL - it's either impossible, or runs too slow. We once developed a billing solution that could evaluate any mathematical expression and generate the invoice based on that - and we ended up writing it in C++ becase C/AL was just too slow. A genetic algorithm, to shedule operations? Forget it in C/AL. So what's really valuable, that's always external, and therefore protected code.
So what would you want to protect? A bunch of inserts and validates? Does not really worth it.0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 322 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions

