• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: MISC-881
Type: Meta Issue Meta Issue
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: Eddy Stryker
Votes: 132
Watchers: 25
Operations

If you were logged in you would be able to see more operations.
4. Second Life Misc Issues - MISC

Petition to release llmath/llvolume.cpp under a more liberal license

Created: 11/Jan/08 03:38 PM   Updated: 03/Aug/08 03:35 AM
Return to search
Component/s: None
Affects Version/s: None
Fix Version/s: None

Linden Lab Issue ID: ND-8377


 Description  « Hide
Collecting votes for a petition to release llvolume.cpp under a BSD or MIT style license. The code is the only form of documentation available that describes how Second Life primitives are rendered, a fundamental building block of the Second Life world. This is critical to any discussion of an open grid or extending the features of the current grid.

 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Lazarus Longstaff added a comment - 11/Jan/08 03:56 PM
Count me in in favor of this one. Never fear, I'm casting a vote as well

Nebadon Izumi added a comment - 11/Jan/08 03:59 PM
\o/

Delerium Hannibal added a comment - 11/Jan/08 04:06 PM
Considering this will help us build an open source GUI viewer, this is a great idea for progress!

Baba Yamamoto added a comment - 11/Jan/08 04:13 PM
llvolume represents the only specification for how prims should be rendered. At the very least it should be documented and a complete specification put together.

Loydin Tripp added a comment - 11/Jan/08 04:41 PM
I too support any effort that will widen and open the Second Life client and back end to a wider pool of developers.

Without these efforts, Second Life is not an open source project.


SuezanneC Baskerville added a comment - 11/Jan/08 05:19 PM
You got my vote. Even though you did invite me into a group with a title of "Educated Stupid".

catherine pfeffer added a comment - 12/Jan/08 01:22 AM
Sorry, I might be dumb, but... llvolume.cpp is under GPL v2 licence already, if I am not wrong. So it is Open Source already. You can build a SL viewer with any GPL-compatible licence with that file.

What will a "more liberal" licence bring ?

Sorry in advance if that question misses some important point.


Andy Tir added a comment - 12/Jan/08 03:22 AM
everything what can accelerate open sourced development has my vote!

for Catherine Pfeffer - sometimes GPL is not accelerator: think of huge project where you have many components and not all of them GPL compatible and for particular part of timeline it is better to keep that component in... you ought to try to see it from Linus Torvalds perspective - licenses are not that important, important is what makes it valuable/important for people to embrace and use.


Eddy Stryker added a comment - 12/Jan/08 01:31 PM
catherine pfeffer: Not a dumb question at all, absolutely relevant. The issue isn't about being able to write code as it is about writing a standard. If you want to create an interoperable standard you can't submit GPLed code to IEEE or W3C or name-your-standards-body. It is even questionable whether you can derive documentation from the GPLed code and then use that documentation as a basis for another project.

In an ideal world we would have perfect documentation on how the primitive system works, but as it stands we have only code and a community that is working toward building a standard.


Harke Hartnell added a comment - 12/Jan/08 04:42 PM
count me in, I whole heartedly agree

catherine pfeffer added a comment - 14/Jan/08 07:26 AM
Andy - Yes, I agree with what you say. But that does not contradict what I pointed out .

Eddy - OK, now I understand the issue, thanks for your explanations.

I think that a source code file can hardly be regarded as a "standard". I think we are on the wrong track here.

What happens, for example, if the source code in llvolume.cpp changes? Does the new code "violate" the "standard"? Or is the new source code becoming the new "standard" automatically? Or will any source code change in that file be prohibited? All solutions sound weird.

My opinion is that this issue should be rephrased. It should read:
"Petition to build a normative document relative to primitive rendering in collaboration with Linden Labs".

Perharps they even already have such a document. After all, most companies that produce software use to document their code...

I think Linden Labs has a lot to win if they build standards. I feel it's the only way for them to make SL become the Web 3.0 and to remain a major actor of this new world. After all, we can't imagine the Web without RFCs...

I hope that helps.


Baba Yamamoto added a comment - 16/Jan/08 02:54 PM
>>Perharps they even already have such a document. After all, most companies that produce software use to document their code...

This is the reason we're in this mess at all! They don't have documentation.


Rob Linden added a comment - 16/Jan/08 03:07 PM
I've imported this for internal discussion at Linden Lab

Saijanai Kuhn added a comment - 19/Jan/08 01:48 AM
Catherine, I've been working on the preliminaries of the preliminaries of a "normative document" for SL protocols for some time now. The LIndens don't have that much by way of internal documentation, from what I understand, and the protocols are a moving target at the best of times. However, for the AWG to advise LL on various issues, we have to know what the current situation is, protocol-wise, and so I preservere--sorta.

Christophe003 Carter added a comment - 20/Jan/08 07:51 AM
You've got my vote, i think this is very important. Alot of devs i know need this. /me votes.
I hope we win!

Mircea Lobo added a comment - 28/Jan/08 06:28 PM
I hope very much it will get fixed. It is an important part for OpenSim I noticed. Please Linden, fix this and release it under a better license. Thank you very much.

caoimhe armitage added a comment - 17/Feb/08 02:54 AM
Well after reading the comments, I think I've changed my opinion. Mind you I haven't read the code, but I'm not entirely clear on why the rendering algorithms need to be 'standardized' in any sense. Yes, we need to know the full network protocol (and that includes quite a few application behavioral details for an IETF-worthy spec), but I don't see why the rendering algorithm makes any difference.

OTOH, I don't really know what is in llvolume.cpp so feel free to ignore me. Normally I'd be in favor of this issue, though. I think it would be good to build better rendering algorithms if someone out there was clever enough


Thoys Pan added a comment - 26/Feb/08 03:19 PM
Can't wait , it is gonna give me a lot of possibilities.

Thanks in advance,
Thoys.


Argent Stonecutter added a comment - 27/Feb/08 01:44 PM
Just imagine what the net would be like today if the BSD TCP/IP stack had been released under GPL rather than BSD license, so the companies pushing for an OSI-based network didn't have a liberally licensed implementation of the TCP protocol to compete against.

I don't think there would BE an Internet as we know it, there would be dozens of online-services networks using X.400 email gateways and their own proprietary protocols, some using Microsoft Lan Manager over OSI CLNP/TP0, some using DECNET, some using Netware... virtually nobody actually using the official OSI terminal and file transfer protocols. I was watching this develop and it was horrible: we had to use Intel System V boxes running dual network stacks to gateway between our Microsoft-based Xenix OSI network and our DEC nominally-OSI-based DECnet.

If Linden Labs wants to be the Cisco of "the 3d Internet" they really need to do everything they can to make the protocols easier to implement... including giving away their implementation under a maximally liberal license.


Eddy Stryker added a comment - 28/Jul/08 12:57 PM
Any news on this?

Adam Zaius added a comment - 30/Jul/08 04:40 PM
Yes, an update on this issue would be much appreciated for the development of third party viewers.

Noori Foss added a comment - 31/Jul/08 03:07 AM
I'm really interested on this one. Please?

Rob Linden added a comment - 31/Jul/08 10:03 AM
Sorry for the lack of update on this one. We have a draft license written up back in April that we aren't yet ready to publish for this. There's some strategic planning work that this task that this is queued up behind. If we decide to go with our draft license, it's likely that more code than just this one file will be published under that license.

Adam Zaius added a comment - 31/Jul/08 01:37 PM
Why not use a standard license for it - if X/MIT/BSD is out of the question, what about a LGPL version? (although X/MIT/BSD would be much easier for all developers working with the code)

Rob Linden added a comment - 31/Jul/08 01:58 PM
We are using a standard license: the GPL. I'm not going to engage in a debate on what license to use at this point, because the planning I've referred to isn't done.

Adam Zaius added a comment - 31/Jul/08 02:16 PM
Alright, I wasn't operating under the assumption you still had a while to go on this one.

My comment was that the GPL has the drawbacks leading to this issue being created (which does knock it out from usefulness here) and you mentioned potentially using a draft license (which I assume is a new one) the problem with custom licenses being that their compatibility with other licenses is a bit of an unknown, the interactions between say BSD/LGPL or CDDL/GPL are fairly well documented and lawyers understand them.

Is there any ETA on when this potential dual licensing could occur? Even a rough time frame would be good in deciding whether to wait for this, or start adding UV mapping and things to Meshmeriser instead.


Royer Pessoa added a comment - 01/Aug/08 01:40 PM
Nostalgic comparisons... gotta think big!

jeanricard broek added a comment - 03/Aug/08 03:35 AM
I would like to recommend that people read: http://www.realityprime.com/articles/volumes-of-reading
Authored by avi.

I quote this clip from his blog post ....................

"Clicking through Adam's blog, I then found this page, in which the other people working on a more open version of Second Life lament the terms of use for LLVolume.cpp, which I coincidentally wrote back in 2001. It's open source lately, but apparently not open enough for their needs.

Now, LLVolume is interesting because it's the code that creates all 3D objects (excluding avatars and terrain). Philip wanted spheres, cones, cubes, torii, etc.. to be his virtual legos, simple and small. They originally expected to write some code for each kind of prim. I felt it was much simpler to write a common block code to create all primitives at all levels of detail, including the newer flex prims that they added after I left. And indeed, it only took about two weeks and 200 lines of code to alpha-test all the prims they wanted. [The only one that's unique, in fact, is the sculpty-prim, which is basically a texture-lookup (height map) deformation on a sphere, and I'd argue that this should be a surface feature of all prims, just as bump-mapping would be.]

The problem these open source devs found was that LLVolume is not well documented and/or is strange to people used to traditional geometry in OpenGL. So I'll make this offer: if Adam or his folks need more information on the core LLVolume concepts, I'll pitch in. I'd be happy to write a "How Second Life Primitives Really Work" post sometime, if there's sufficient interest, and it's clearly open source at this point. The main issue is making all of the images to go along with the discussion. But I can swing it in the next month or two, I think. Just let me know.

I do have one big caution though: the thrust of this open sim work seems to be to promote SL as an Open Standard. I certainly hope SL prims don't become standard in their current form. Even the original code I wrote back in 2001 could do much more than spheres and cubes, and was mainly limited by the SL protcol considerations.

If anything is going to be standardized, I'd much rather see the broader language of procedural geometry become more widely used, rather than SL's very shallow cross-section of that field.

The benefit would be that complex objects could be represented in a very concise form, and the goals Adam and others have regarding "fingerprinting" and preserving author-credit would become much, much easier to realize. That's a much longer discussion, but one I hope to take to the streets in the coming months."

I AGREE.