Horrible headless hack

classic Classic list List threaded Threaded
50 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Horrible headless hack

marcosscriven
Hi folks

I keep meaning to merge back stuff I did to convert OpenSCAD to Emscripten, but I just constantly get distracted by other things I need to do.

I've thus checked back in to my fork of OpenSCAD: https://github.com/marcosscriven/openscad

It's truly horrid, and slightly embarrassing, but if anyone has the time to do it properly, maybe it will be of some minor use. When I started I didn't really know anything about Emscripten, and I thought it would be unlikely to work; certainly not as well as it did. Hence I ripped out a lot of code in a hurry without properly refactoring.

It should be built with the 'console.pro' project: https://github.com/marcosscriven/openscad/blob/master/console.pro

There's also the unfinished stuff I did to parallelise OpenSCAD. I stopped because my aim was splitting up the tree into 'tasks' I could pass to Javascript workers, but I faced issues with serialising results efficiently (in the Emscripten browser environment). That wouldn't be a problem natively of course.

The idea was to have a 'nodetask'
https://github.com/marcosscriven/openscad/blob/master/src/NodeTask.cc

And to use this visitor instead of the CGALVisitor:
https://github.com/marcosscriven/openscad/blob/master/src/NodeTaskVisitor.cc

And to repeatedly visit the tree, every time one of the tasks has finished, and thus a new node could potentially have all it's children ready. I found this worked fine, but to use this in the native version someone still need to write a queue of tasks that multiple threads can consume.

Marcos
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

kintel
Administrator
Hey,

Thanks for the push.
Did you already update FabFabbers with the 2013.06 codebase?
I tried to merge your fork, but got a large number of conflicts, so I guess it has diverged a bit far from its origins.

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

marcosscriven
Yes my fork was from a while back now - yet another reason I was reluctant to make the push.

I only really released it as some fellow was pretty much demanding it in a, let's say, officious manner, despite my protestations that sadly it was not all that useful, and perhaps worse, a waste of time trying to merge vs starting from a fresh fork, and doing the refactoring properly.

Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

kintel
Administrator
On 2013-06-23, at 11:16 , marcosscriven wrote:

> Yes my fork was from a while back now - yet another reason I was reluctant to
> make the push.
>
That was obvious by now :)

I was more interested in whether you've upgraded FabFabbers.com to support the new features in OpenSCAD-2013.06 - I try to keep track of compatibility issues between the different OpenSCAD-related projects.

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

marcosscriven
No, I've not updated it.

I'm in a situation where I'm not sure it's entirely worth the effort. I did have plans to introduce online OpenSCAD libraries, and GIST-style OpenSCAD snippets, but it's a lot of work, and I'm not sure anyone actually wants it.

Certainly when you do this kind of open source work completely for free, and with no reward save for it's technica challenge, it's incredible quite how vociferously people can complain about something as if they paid for it!

Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

David Powell
sadly one of the down sides of it is the fact that discussions about future development and bugs can sound like demands rather than ideas , trying to give ideas and be helpful is never easy , c++ is beyond me most of the time although i try, and understand the principles my code-ing is not up to it 

finding bugs and problems often also seem like it ribbing or putting down the developers excellent work , but if it wishes to improve and develop then they do need to be addressed 

at the end of the day its down to the developers if they wish to do anything about the subject of the discussion  , or ignore it and continue with there own ideas / project goals 

this is the place to discuss ideas is it not ? 


On Sun, Jun 23, 2013 at 6:52 PM, marcosscriven <[hidden email]> wrote:
No, I've not updated it.

I'm in a situation where I'm not sure it's entirely worth the effort. I did
have plans to introduce online OpenSCAD libraries, and GIST-style OpenSCAD
snippets, but it's a lot of work, and I'm not sure anyone actually wants it.

Certainly when you do this kind of open source work completely for free, and
with no reward save for it's technica challenge, it's incredible quite how
vociferously people can complain about something as if they paid for it!





--
View this message in context: http://forum.openscad.org/Horrible-headless-hack-tp4863p4911.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

marcosscriven
Hi David

I definitely wasn't refering to the reasonable and constructive manner people like yourself! In fact, I really like getting feedback, chiefly because it means people are even interested. It would be far worse to face tumbleweed :)

What I meant was, literally, unpleasantness in the form of bad language etc. But that is by far the minority, to be fair.
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

kintel
Administrator
In reply to this post by marcosscriven

On 2013-06-23, at 13:52 , marcosscriven wrote:

> No, I've not updated it.
>
> I'm in a situation where I'm not sure it's entirely worth the effort. […]

It depends on what you want to achieve with your site. If you stop supporting new features in OpenSCAD, you're in effect forking OpenSCAD and people designing models would have to choose which feature set to support, which, IMO, is not a good idea.
Ideally, patches to OpenSCAD should be integrated as early as possible, although that means that they need to be of a quality where it can be merged into master, which is slightly harder to achieve when shipping multi-platform binaries than a single-platform service..

> Certainly when you do this kind of open source work completely for free, and
> with no reward save for it's technica challenge, it's incredible quite how
> vociferously people can complain about something as if they paid for it!
>
I think one of the reasons for such outbreaks is the combination of free and proprietary tech. If you put your entire site on github, I think it would shut people up, at least to some degree. I think aggression comes from the fear of splintering community efforts by trying to create proprietary solutions on top of free ones.

Cheers,

 -Marius
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

David Powell
In reply to this post by marcosscriven
people like that are one of the reasons i stopped  irc moderating a number of chan's a few years back 


On Sun, Jun 23, 2013 at 8:03 PM, marcosscriven <[hidden email]> wrote:
Hi David

I definitely wasn't refering to the reasonable and constructive manner
people like yourself! In fact, I really like getting feedback, chiefly
because it means people are even interested. It would be far worse to face
tumbleweed :)

What I meant was, literally, unpleasantness in the form of bad language etc.
But that is by far the minority, to be fair.



--
View this message in context: http://forum.openscad.org/Horrible-headless-hack-tp4863p4917.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

marcosscriven
In reply to this post by kintel
Hi Marius

As ever, all good and well articulated points.

I was kind of asking the reverse question though - I mean, do people even think having a Javascript version of OpenSCAD is worth it in the first place? I mean, if it is worth it, then it makes a lot more sense to spend the time doing the refactoring properly, such that creating a Javascript version from the current codebase becomes much easier (or, ideally, just another build target).

If it's not something people even want though, then I would agree it makes more sense to take it offline, and the links I have to 'edit' a model just attempt to open OpenSCAD on the user's computer, rather than having some wierd old version online.

As to what my aims are with FabFabbers - good question. My initial aim had nothing to do with OpenSCAD, I was just hoping to answer those Thingiverse users who wanted an alternative, and liked to keep their data open (using GitHub as my first 'source').

The Javascript OpenSCAD was just an experiment with Emscripten. But once it became clear it was actually viable, and ran at a decent speed (particularly with asm.js, which both Firefox and now Chrome seem to be taking seriously), I thought it would be cool to be able to customise models directly in the browser, rather than having some server side queue like Thingiverse (which would be very costly in CPU terms and not scalable). But the sort of models that people are putting on FabFabbers are the sort of 'techy' things that appeal to users who are happy to use OpenSCAD with natively anyway. I had thought of extracting parameters from the OpenSCAD script, and exposing those as GUI elements (a little like Thingiverse does now), thus hiding the complexity for users that didn't know or care about OpenSCAD.

Regarding the worry of creating 'proprietary solutions on top of free ones'. I think that's a fair point.

I've mused about this both here and on the RepRap forums - I would be happy with a 100% open sourced model, and see if I could make it work with FabFabbers being just a convenient paid-for host of the said open source software, that people could use if they didn't want to run their own host. I'm really not sure how to approach that though - I suppose the Kickstarter idea is one suggestion, but I keep going in circles in my head about what would be a reasonable target, what the pledges would be, who would the pledges target (geeks or designers, or both?)



Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

David Powell
licencing issues do become a problem , a possible better solution would of been to factor the code for the server /browser side under lgpl (for  private individual or none profit making organisation use) a bit like the trolltec qt4 licence allows free use for those developing gpl apps using it 
 
meaning commercial organisations wanting to offer design /print  services would need to get a licence
but that could only account for the code written under that licence in the first place so may be hard to implement in its current form, and would only relate to the specific extensions , that way the code remains open also , but i can see that also causing problems as contributors may start to expect a cut of any fees so it could make things worse for you,

printing services and site advertising and server cpu time usage are the only real chargeable options that are not affected  
but i'm not an expert on the finer points of licencing you would need a lawyer for that 

as to usage native or server /web based , seems that aria is in flux with some preferring web based apps and some still native ,, i guess a lot of that is dependent on the platforms that are being used 
and that may make it 50,50 
i did see a online browser statistic a couple of years back that showed more web surfing was being done by web enabled devices like set top boxes than with pc's 
 so yea a java build target platform would be a ideal solution and attracts that user base 
 

 


On Sun, Jun 23, 2013 at 8:48 PM, marcosscriven <[hidden email]> wrote:
Hi Marius

As ever, all good and well articulated points.

I was kind of asking the reverse question though - I mean, do people even
think having a Javascript version of OpenSCAD is worth it in the first
place? I mean, if it is worth it, then it makes a lot more sense to spend
the time doing the refactoring properly, such that creating a Javascript
version from the current codebase becomes much easier (or, ideally, just
another build target).

If it's not something people even want though, then I would agree it makes
more sense to take it offline, and the links I have to 'edit' a model just
attempt to open OpenSCAD on the user's computer, rather than having some
wierd old version online.

As to what my aims are with FabFabbers - good question. My initial aim had
nothing to do with OpenSCAD, I was just hoping to answer those Thingiverse
users who wanted an alternative, and liked to keep their data open (using
GitHub as my first 'source').

The Javascript OpenSCAD was just an experiment with Emscripten. But once it
became clear it was actually viable, and ran at a decent speed (particularly
with asm.js, which both Firefox and now Chrome seem to be taking seriously),
I thought it would be cool to be able to customise models directly in the
browser, rather than having some server side queue like Thingiverse (which
would be very costly in CPU terms and not scalable). But the sort of models
that people are putting on FabFabbers are the sort of 'techy' things that
appeal to users who are happy to use OpenSCAD with natively anyway. I had
thought of extracting parameters from the OpenSCAD script, and exposing
those as GUI elements (a little like Thingiverse does now), thus hiding the
complexity for users that didn't know or care about OpenSCAD.

Regarding the worry of creating 'proprietary solutions on top of free ones'.
I think that's a fair point.

I've mused about this both here and on the RepRap forums - I would be happy
with a 100% open sourced model, and see if I could make it work with
FabFabbers being just a convenient paid-for host of the said open source
software, that people could use if they didn't want to run their own host.
I'm really not sure how to approach that though - I suppose the Kickstarter
idea is one suggestion, but I keep going in circles in my head about what
would be a reasonable target, what the pledges would be, who would the
pledges target (geeks or designers, or both?)







--
View this message in context: http://forum.openscad.org/Horrible-headless-hack-tp4863p4920.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

David Powell
http://www.stallman.org/  is the guy who should be able to answer licencing related issues  


On Sun, Jun 23, 2013 at 10:12 PM, David Powell <[hidden email]> wrote:
licencing issues do become a problem , a possible better solution would of been to factor the code for the server /browser side under lgpl (for  private individual or none profit making organisation use) a bit like the trolltec qt4 licence allows free use for those developing gpl apps using it 
 
meaning commercial organisations wanting to offer design /print  services would need to get a licence
but that could only account for the code written under that licence in the first place so may be hard to implement in its current form, and would only relate to the specific extensions , that way the code remains open also , but i can see that also causing problems as contributors may start to expect a cut of any fees so it could make things worse for you,

printing services and site advertising and server cpu time usage are the only real chargeable options that are not affected  
but i'm not an expert on the finer points of licencing you would need a lawyer for that 

as to usage native or server /web based , seems that aria is in flux with some preferring web based apps and some still native ,, i guess a lot of that is dependent on the platforms that are being used 
and that may make it 50,50 
i did see a online browser statistic a couple of years back that showed more web surfing was being done by web enabled devices like set top boxes than with pc's 
 so yea a java build target platform would be a ideal solution and attracts that user base 
 

 


On Sun, Jun 23, 2013 at 8:48 PM, marcosscriven <[hidden email]> wrote:
Hi Marius

As ever, all good and well articulated points.

I was kind of asking the reverse question though - I mean, do people even
think having a Javascript version of OpenSCAD is worth it in the first
place? I mean, if it is worth it, then it makes a lot more sense to spend
the time doing the refactoring properly, such that creating a Javascript
version from the current codebase becomes much easier (or, ideally, just
another build target).

If it's not something people even want though, then I would agree it makes
more sense to take it offline, and the links I have to 'edit' a model just
attempt to open OpenSCAD on the user's computer, rather than having some
wierd old version online.

As to what my aims are with FabFabbers - good question. My initial aim had
nothing to do with OpenSCAD, I was just hoping to answer those Thingiverse
users who wanted an alternative, and liked to keep their data open (using
GitHub as my first 'source').

The Javascript OpenSCAD was just an experiment with Emscripten. But once it
became clear it was actually viable, and ran at a decent speed (particularly
with asm.js, which both Firefox and now Chrome seem to be taking seriously),
I thought it would be cool to be able to customise models directly in the
browser, rather than having some server side queue like Thingiverse (which
would be very costly in CPU terms and not scalable). But the sort of models
that people are putting on FabFabbers are the sort of 'techy' things that
appeal to users who are happy to use OpenSCAD with natively anyway. I had
thought of extracting parameters from the OpenSCAD script, and exposing
those as GUI elements (a little like Thingiverse does now), thus hiding the
complexity for users that didn't know or care about OpenSCAD.

Regarding the worry of creating 'proprietary solutions on top of free ones'.
I think that's a fair point.

I've mused about this both here and on the RepRap forums - I would be happy
with a 100% open sourced model, and see if I could make it work with
FabFabbers being just a convenient paid-for host of the said open source
software, that people could use if they didn't want to run their own host.
I'm really not sure how to approach that though - I suppose the Kickstarter
idea is one suggestion, but I keep going in circles in my head about what
would be a reasonable target, what the pledges would be, who would the
pledges target (geeks or designers, or both?)







--
View this message in context: http://forum.openscad.org/Horrible-headless-hack-tp4863p4920.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

Alan Cox
In reply to this post by marcosscriven
On Sun, 23 Jun 2013 10:52:07 -0700 (PDT)
marcosscriven <[hidden email]> wrote:

> No, I've not updated it.
>
> I'm in a situation where I'm not sure it's entirely worth the effort. I did
> have plans to introduce online OpenSCAD libraries, and GIST-style OpenSCAD
> snippets, but it's a lot of work, and I'm not sure anyone actually wants it.
>
> Certainly when you do this kind of open source work completely for free, and
> with no reward save for it's technica challenge, it's incredible quite how
> vociferously people can complain about something as if they paid for it!

One of the secrets of free software is that criticism scales perfectly.
That makes for brilliant debugging 8)

My usual response for projects I ran to complaints was "send patches".

Alan
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

Alan Cox
In reply to this post by marcosscriven
> I was kind of asking the reverse question though - I mean, do people even
> think having a Javascript version of OpenSCAD is worth it in the first
> place? I mean, if it is worth it, then it makes a lot more sense to spend
> the time doing the refactoring properly, such that creating a Javascript
> version from the current codebase becomes much easier (or, ideally, just
> another build target).

IMHO with the way tools like enscriptem are going the better answer is
probably to make enscriptem just do the job right or better.

Any javascript solution today is also going to be very very hard to
maintain because javascript is a nasty botch of a language that is
continually in flux all over the place as well as lacking some fairly
fundamental language features right now (although threading appears to
finally be getting in).

Combined with NaCl and various other technologies its wild guesswork what
a solution would look like. At least with conversion tools all the crap
gets dumped on the tool.

IMHO having one version alone is much easier to maintain (especially as
most of the comments about js are perhaps true about the openscad language
right now too - and for similar reasons)

But its free software - if you think its cool, go do it. Lots of people
go off and do insane, silly and pointless things some percentage of which
provide to be neither silly or pointless but actually very useful.

> thought of extracting parameters from the OpenSCAD script, and exposing
> those as GUI elements (a little like Thingiverse does now), thus hiding the
> complexity for users that didn't know or care about OpenSCAD.

That I think is a useful tool. Or would be if openscad had a way to range
check and abort on unsuitable parameters.

> Regarding the worry of creating 'proprietary solutions on top of free ones'.
> I think that's a fair point.

I'm not sure anyone in the proprietary world will be too excited.
OpenSCAD is derivative of various libraries under free software licenses
and it would be very hard even if it wasn't to build anything but a GPL
one.

Plus there are two other things to remember IMHO

1. Its a useless technology to the proprietary model mindset. You download
the model to the user. You let the user see the 3D data and they could
steal the model.

2. From the point of view of a producer who is just interested in giving
their users the best experience, why would the GPL bother them ?

Alan
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

Alan Cox
In reply to this post by David Powell
On Sun, 23 Jun 2013 22:12:51 +0100
David Powell <[hidden email]> wrote:

> licencing issues do become a problem , a possible better solution would of
> been to factor the code for the server /browser side under lgpl

You would need to re-implement CGAL to do this.

> meaning commercial organisations wanting to offer design /print  services
> would need to get a licence

Nothing in the GPL forbids commercial use.

> i did see a online browser statistic a couple of years back that showed
> more web surfing was being done by web enabled devices like set top boxes
> than with pc's
>  so yea a java build target platform would be a ideal solution and attracts
> that user base

Most web enabled home devices are very low power and are not really going
to handle anything that complicated. Their java support is also generally
intended for Digital TV services and Blueray so are MHP, MHP-GEM, RDK etc
based environments and not usually exposed into the browser.

A lot of low end devices have a pretty decent GPU these days - even many
of the phones and tablets, so a WebGL based STL viewer might be a better
half-way house than waiting a month for the model to compute.

Alan
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

kintel
Administrator
On the topic of licensing of OpenSCAD and surrounding components:

It's easy if everyone uses GPL compatible licenses, but pretty complex if not.

Some notes:
o OpenSCAD itself is GPLv2. The copyright is well managed, so that's easy to change.
o OpenCSG is GPLv2. They are open to commercial licensing.
o CGAL is GPLv3. Meaning if someone compiles their own OpenSCAD binary, it falls under GPLv3. They sell licenses though.
o You can work around the GPLv3 requirements by using an old CGAL (V3 or older uses QPL)
o I think that using e.g. emscripten+CGAL+OpenSCAD means that technically, the entire solution would need to be GPL compatible, including the backend and frontend html+js stuff, but I'm not a lawyer. I also guess the CGAL guys won't notice unless there is a profitable business attached.
o It's possible to license the individual libraries used in OpenSCAD and be able to do GPLv2 solutions (aka. Tivoization if I understand correctly).

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

marcosscriven
kintel wrote
o I think that using e.g. emscripten+CGAL+OpenSCAD means that technically, the entire solution would need to be GPL compatible, including the backend and frontend html+js stuff, but I'm not a lawyer. I also guess the CGAL guys won't notice unless there is a profitable business attached.
 -Marius
So far as I know, the "entire solution" in this particular case is what I checked in.

There's no back end (that was the point of doing it). And the HTML JS stuff is in no way coupled to OpenSCAD. I can't see how the JS text editor on the left, for instance, would be any more covered by OpenSCAD's consitituent licences any more than any other text editor. Similarly the image-based WebGL viewer I wrote by hand is completely decoupled from OpenSCAD (I.e it's nothing at all to do with the OpenCSG code, which was all in old fixed-pipeline OpenGL code, and thus totally unusuable in a WebGL env)

Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

kintel
Administrator
On 2013-06-24, at 02:31 , marcosscriven wrote:

> […] the HTML JS stuff is in no way coupled to OpenSCAD. I can't see how the JS text editor on the
> left, for instance, would be any more covered by OpenSCAD's consitituent
> licences […] image-based WebGL viewer I wrote by hand is completely decoupled from OpenSCAD

Actually, to my understanding, one of the primary ideas behind GPLv3 is to ensure that it's not possible to improve free software with proprietary add-ons, even though they're decoupled. A web application using GPLv3 components anywhere in the pipeline would have to remain completely free, as it's considered part of the same application/web service.

Also, instead of all this, it's even easier to step back raise our gazes: In the RepRap community we're all writing Free Software and building Open Source Hardware. If you use any Free Software component which is the result of someone's unpaid spare time, it's just common courtesy to release your own software under a comparable license and not try to draw a line between "mine" and "yours".

Hope that was a clarification,

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

David Powell
the only real time i did anything over licencing issues was when trying to find a compatible openhardware gpl licence that i could use , the lgpl v2 did cover most points when applied but that was about 8 years ago  im not shoure on the fine points between V2 and V3 but ether should be fine since i would comment LGPL v2 or later if doing a file from scratch , 

if  LGPL is a mistake and would cause problems  then under LGPL i would be allowed to dual licence it so GPLv2 or later , would be no problem for me 

 


On Mon, Jun 24, 2013 at 4:01 PM, Marius Kintel <[hidden email]> wrote:
On 2013-06-24, at 02:31 , marcosscriven wrote:

> […] the HTML JS stuff is in no way coupled to OpenSCAD. I can't see how the JS text editor on the
> left, for instance, would be any more covered by OpenSCAD's consitituent
> licences […] image-based WebGL viewer I wrote by hand is completely decoupled from OpenSCAD

Actually, to my understanding, one of the primary ideas behind GPLv3 is to ensure that it's not possible to improve free software with proprietary add-ons, even though they're decoupled. A web application using GPLv3 components anywhere in the pipeline would have to remain completely free, as it's considered part of the same application/web service.

Also, instead of all this, it's even easier to step back raise our gazes: In the RepRap community we're all writing Free Software and building Open Source Hardware. If you use any Free Software component which is the result of someone's unpaid spare time, it's just common courtesy to release your own software under a comparable license and not try to draw a line between "mine" and "yours".

Hope that was a clarification,

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: Horrible headless hack

marcosscriven
In reply to this post by kintel
kintel wrote
Hope that was a clarification,

 -Marius
Unfortunately, quite the opposite. I'm more confused than ever, and very disheartened by the situation.

Here's the story:

1) I decided to try making OpenSCAD work in the browser, having heard of a tool called Emscripten, for no other reason than the technical challenge.
2) I then spent a long while working out how to compile GMP, MPFR & CGAL with Emscripten. I open sourced that work in its entirety ( https://github.com/marcosscriven/cgaljs ) so that someone else can come along and not have to faf around. They just run a Python script, and hey presto.
3) I then spent a further amount of time refactoring OpenSCAD (as I said above, in a fast and loose way, as I had doubts it would work out). I also released that in its entirety: https://github.com/marcosscriven/openscad

So at this point we now have a Javascript file that essentially takes in a string representing an OpenSCAD script, and outputs and STL or CSG parse tree, again in the form of a string. All the work/changes I have done are available for anyone. I assume we're ok at this point?

4) Some weeks later I decide to write an image based CSG algorithm from scratch in WebGL, and decide to apply it to OpenSCAD.

Now, all of a sudden, I'm in violation of the GPL, and even if I'm not by the letter of it, I certainly am in spirit. Furthermore, not only am I in violation but I'm 'discourteous'. It doesn't matter a jot I've done a lot of work and open sourced it.

Wonderful. Such a nice feeling after all that work. Why not do some more as its been so rewarding?

What if, for instance, OpenCSG was written *after* OpenSCAD. And the guy that wrote OpenCSG decided that it would be cool to use it in OpenSCAD. If he then didn't open source it, or didn't release it under the same licence, are you saying he too would also have been in violation and/or discourteous? That's to say, because OpenSCAD has been improved in some way by an separate piece of software he wrote, that now just by the act of *adding* something, he now owes you everything he did?

Now, as may not be apparent, I don't think anything I've done here has been of any great use or note anyway. I've open sourced everything I've done except the image based WebGL - the sole reason being was I didn't know a thing about OpenGL itself before starting it, let alone OpenGL ES, WebGL, programmable pipelines, face culling, or stencil buffers. It's likely a horrid piece of WebGL code that only just works, and that anyone with decent knowledge of WebGL would simply discard as so bad as to need starting from scratch.

I will open source the WebGL component I wrote, but it won't be because I think it's a great bit of code, or a valuable addition. It won't be because someone asked me, you know, nicely. It'll be because of people demanding, with varying levels of vitriol, that I do so.

So now I have a little homework to do to decide what license I should use. Under more friendly circumstances I would have naively just put it on GitHub, without any thoughts as to licenses or putting in name in a copyright header on every last file. So far as I know, it'll been something like MIT - lest people pursue any sorry sole who dares use it. And that'll be a moot point anyway, because no matter the licence, as I say above I doubt it will be of sufficient quality - but apparently that's not my right to decide.

This has been my first foray into contributing to the world of open source, and unfortunately I have to say it hasn't been pleasant.

Yours 'discourteously'

Marcos


123