PDA

View Full Version : Are you allowed to sell items that contain snippets of Sencha code within them?



dawesi
29 Nov 2011, 5:12 AM
As a lot of extensions/etc have Sencha code within them (aka extending current functionality with a slight re-write), will there be a licence extension granted to sell/distribute such items?

mitchellsimoens
29 Nov 2011, 6:46 AM
I believe this question would be better directed towards licensing@sencha.com . I personally doubt it but I am in no part part of that decision, just my best guess.

mankz
29 Nov 2011, 7:18 AM
Good luck writing a custom component/extension with 0 lines of sencha code/overrides in it :)

tobiu
29 Nov 2011, 7:27 AM
definitely nothing easy to deside and where to set the limits.
if you would be forbidden to use sencha based methods, then you would create pure js widgets and no sencha addons / ux.

it should also depend on how much (in %) sencha code you use. example: you change 2 lines of code in a big module and release it with a version that is not yet made public to non support subscribers. in that case there has to be at least a check if the buyer is the owner of a licence or the developers have to stick to the public versions.

i can not speak for sencha here, but i think there are a lot of points that should be thought through carefully.

mitchellsimoens
29 Nov 2011, 7:28 AM
Good luck writing a custom component/extension with 0 lines of sencha code/overrides in it :)

Not that hard...

brian.moeskau
29 Nov 2011, 9:03 PM
This is a very valid question, and every add-on author will no doubt have the exact same question. There may be some situations that require contacting the licensing dept., but I'm sure that we can provide some general guidelines that most people will be able to follow. I'll make sure that the appropriate people see this question and see if we can get some guidelines put together.

brian.moeskau
30 Nov 2011, 11:49 AM
We're reviewing what the exact guidelines should be for this and will post more info soon.

nohuhu
30 Nov 2011, 12:38 PM
This problem wouldn't be so pronounced if Ext JS was less monolithic. I have already pointed this out (http://www.sencha.com/forum/showthread.php?152240-Please-PLEASE-make-Ext-JS-classes-less-monolithic!) and I am going to repeat it: please consider opening up for collaboration with the community, that would be a win-win situation for everyone.

An example: when I developed my Chart extensions I had to refactor significant chunks of Ext JS Chart code in order to avoid copy/paste of colossal proportions. The result is clean separation of my code from Ext JS code, but also a bunch of buffer classes that contain almost 100% Sencha code. I don't know if I have any rights to release these, but considering that my code doesn't work without it I just have to. Of course I'd love to contribute refactored code back to Ext JS but I have no way to do this presently. This situation bugs me somewhat and I'd like to resolve it. Any thoughts?

Regards,
Alex.

brian.moeskau
30 Nov 2011, 1:01 PM
This problem wouldn't be so pronounced if Ext JS was less monolithic. I have already pointed this out (http://www.sencha.com/forum/showthread.php?152240-Please-PLEASE-make-Ext-JS-classes-less-monolithic!) and I am going to repeat it: please consider opening up for collaboration with the community, that would be a win-win situation for everyone.

OK, that's a valid discussion to bring up, but we're not going to stop and refactor the Ext JS framework from the ground up in order to deal with how to approach licensing add-ons. And while your suggestions might (arguably) make such licensing less of an issue, it is still an issue that needs to be clarified either way. There will always be overrides of existing code.

jay@moduscreate.com
1 Dec 2011, 7:30 AM
Good luck writing a custom component/extension with 0 lines of sencha code/overrides in it :)

Sometimes you can get this done with interceptor and/or sequence. It's lot of work to prevent overrides though.

brian.moeskau
1 Dec 2011, 7:51 AM
Sometimes you can get this done with interceptor and/or sequence. It's lot of work to prevent overrides though.

In my experience, doing anything halfway serious always requires some overrides that include existing code. And even interceptor and sequence don't always allow you to avoid copying some existing code into your function (depends on where you have to inject your new logic). Speaking for myself, it would be impossible for me to ship my calendar components without some overrides that must, by nature, include some Sencha code. YMMV.

nohuhu
1 Dec 2011, 10:28 AM
It's curious; I am newcomer to JS scene and this is exactly what got me off guard at first, the encouraged way of copying/pasting large amounts of existing code in order to override it. I still can't understand it though, what is the reason behind monolithic design? Maybe I'm missing something.

Anyway, I think I have found a way to deal with it, of sorts: when I encounter a large method I need to override, I create a buffer class first, refactor that method and split it up into well-defined parts and then extend that buffer class. Sure it adds overhead on maintaining the buffer class but it's largely alleviated with revision control tools, and it keeps my code clean of any Sencha code. In the end it means easier maintenance for me, without actually adding any significant overhead; and if I don't release that code to the public it means no licensing issues whatsoever. Nice and neat.

YMMV though.

Regards,
Alex.

bluehipy
10 Sep 2012, 9:54 PM
Not that hard...

:))) true