[Opensim-dev] Harvesting code from forks of Opensim

W Smith wanderingcodesmith at yahoo.co.uk
Wed May 27 15:53:31 UTC 2015


Fly Man

I only have a probably incomplete list of LSL functions (25 at them moment) that are missing from OpenSim. I have no idea how many have been implemented in Aurora. The only one I looked at in Aurora so far were the LL json functions, the first on my list.

You appear to be wrong about needing AA* functions, the code for the LL Json functions that I got from aurora sim was not from and contained no references to any AA* functions. You may have an older version or perhaps a more recent from WhiteCore I have not looked there, I only found out WhiteCore existed yesterday.
I got a copy from https://github.com/aurora-sim/Aurora-Sim a week or so ago.
See https://github.com/aurora-sim/Aurora-Sim/blob/master/Aurora/AuroraDotNetEngine/APIs/LSL_Api.cs for their implentation.

The code from Aurora sim compiled in OpenSim merely by adding "using OpenMetaverse.StructuredData;". No other libraries were added by me, I am just using the OSD library supplied from the OpensSim git repository.

The Aurora implementation is plain wrong, its results differ from those of SL LSL, it requires a number of changes to correct the outputs. Also changes to cope with OpenSim allowing native c# data types to be added to an lsl_list, lots of defensive type checking required to avoid casting errors.

My original intention was to work down my list of functions and submit either a patch with an implementation or failing that a patch with the "plumbing" and a "not implemented" implementation in LSL_Api

Regards Talun

--------------------------------------------
On Wed, 27/5/15, Fly Man <fly.man.opensim at gmail.com> wrote:

 Subject: Re: [Opensim-dev] Harvesting code from forks of Opensim
 To: opensim-dev at opensimulator.org
 Date: Wednesday, 27 May, 2015, 12:53
 
 Talun,
 
 Let me quote 2 pieces out of your
 reply:
 
 "First of all I
 have no interest in extracting anything from the AA* 
 functions or any other part of Aurora-Sim that is not
 required by LSL 
 functions."
 If you are
 able to compile a list of the functions that are missing /
 lacking in OpenSim and that work in AuroraSim, that would be
 a great help.
 
 But as
 I mentioned before, some of the functions you see as LSL
 functions are bound in with the implementations for
 aaFunctions.
 
 As
 an example, the llJson function you mentioned ties in with
 the aa function for it, using a different approach to JSON
 as the LibOMV wasn't upgraded back then. The latest
 LibOMV has the JSON implementation much easier and better
 then the one in AuroraSim.
 
 "A few parts of the Aurora sim function
 are usable (general looping 
 structure) as is but most require changes to correct the
 differences 
 with SLs version."
 
 "None will probably be a direct
 fit to OpenSim but there will be some degree of
 copy/paste"
 
 My personal conclusion: Talun is
 gonna create a list of the LSL functions that are in
 AuroraSim which don't exist in OpenSim or are not
 implemented correctly and he's gonna donate his time to
 rewrite them all so they can be send in as a patch for
 OpenSim.
 
 That sounds like a
 good starting point to me
 2015-05-27 3:44 GMT+02:00
 Dahlia Trimble <dahliatrimble at gmail.com>:
 There is a OSD
 library which is part of libopenmetaverse. That
 implementation is 
 compatible with the OpenSimulator license and the JSON
 implementation in it is
  fairly robust and used extensively in OpenSimulator.
 "ll*" functions 
 are usually documented on http://wiki.secondlife.com/wiki/LSL_Portal
 and
  that site is generally regarded as the canonical
 reference.
 On Tue, May 26, 2015 at
 6:33 PM, W Smith <wanderingcodesmith at yahoo.co.uk>
 wrote:
 I have no
 idea how the idea of importing these AA* functions got into
 this thread my interest is in implementing LSL.
 
 
 
  I was intending implementing some of the 24+ unimplemented
 LSL ll* functions that OpenSim lacks. I was going to look
 for "inspiration and assistance" in doing this in
 the Aurora sim implementations.
 
 
 
 None will probably be a direct fit to OpenSim but there will
 be some degree of copy/paste
 
 
 
 Talun
 
 
 
 --------------------------------------------
 
 On Wed, 27/5/15, Morgaine <morgaine.dinova at googlemail.com>
 wrote:
 
 
 
  Subject: Re: [Opensim-dev] Harvesting code from forks of
 Opensim
 
  To: opensim-dev at opensimulator.org
 
  Cc: "Morgaine Dinova" <morgaine.dinova at googlemail.com>
 
  Date: Wednesday, 27 May, 2015, 1:28
 
 
 
  Fly Man writes:
 
  > and my
 
  -1 was meant to say "Please do not put things that
 no
 
  one knows about in OpenSim"
 
 
 
  +1 for that
 
  -1. :-)
 
 
 
  Your point applies to all FOSS code of
 
  course, not just Opensim.  Undocumented or minimally
 
  documented code is a liability, not an asset, even if
 
  it's a million lines of alleged
 
  "awesomeness".
 
 
 
  The D/C ratio is not a perfect metric,
 
  but when it's near zero then you know that there's
 a
 
  problem.
 
 
 
 
 
  On Wed, May 27, 2015 at
 
  1:18 AM, Fly Man <fly.man.opensim at gmail.com>
 
  wrote:
 
  Let me answer most
 
  questions that have been shooting up in my personal
 mailbox
 
  which have to do with Opensim as a project.
 
 
 
  I'll start with
 
  perhaps the most easy part of the discussion:
 AuroraSim.
 
 
 
  AuroraSim is a derivated
 
  from OpenSim, forked on the 14th of October 2010 after
 Rev
 
  (RevolutionSmythe) decided that Opensim wasn't
 going
 
  into the way he personally had seen. He decided to fork
 the
 
  Opensim tree and renamed it to AuroraSim. In the years
 
  following he upgraded parts of the source-code and added
 a
 
  set of new functional code parts knows as the
 
  aaFunctions.
 
 
 
  These
 
  functions are based on the code that he wrote at that
 moment
 
  for the AuroraSim branch. Remember, this is an OLDER copy
 of
 
  what the current Opensim branch is now. Most of the
 
  functions in there won't ever work in Opensim
 mainly
 
  because Opensim does not have these older hooks.
 
 
 
  In 2013 Rev was done
 
  with his education and decided to start working which
 
  brought AuroraSim to a slower moving branch and patches
 
  weren't applied instantly anymore. The last patch
 that
 
  was applied to the sourcecode was Jan 2014 and the
 project
 
  slowly died.
 
 
 
  So,
 
  currently there's no maintainer of any of the code
 that
 
  was/is in AuroraSim other then what is currently in
 that
 
  GitHub repository.
 
 
 
  Now here comes the part which Kevin
 
  already mentioned: "The fork is called
 
  WhiteCore"
 
 
 
  Indeed, WhiteCore is a fork of
 
  AuroraSim after I personally saw what was happening to
 
  AuroraSim. I had been watching the slow pace for a
 longer
 
  period of time and already had found 2 other people that
 had
 
  the same "issue". So in December 2013
 AuroraSim
 
  was forked and re-based as WhiteCoreSim.
 
 
 
  Currently in development with 2
 
  other developers, I am 1 of the 3 lead developers that
 
  actively maintain that "fork" although
 it's
 
  not even close to what the endgoal for it will be.
 
 
 
  1 thing that we
 
  broke "on purpose" when we changed the name is
 the
 
  aaFunctions because only Rev knows exactly how they are
 
  meant to work. At the moment there's no other person
 who
 
  knows what exactly the functions are meant to do other
 then
 
  a better way to have NPC's spawn and some basic
 
  functions that mimic the osFunctions.
 
 
 
  Conclusion: There's no developer
 
  at the moment that can look into Rev's head from a
 
  distance and ask him how the functions are meant to work
 (if
 
  they still work at all) and my -1 was meant to say
 
  "Please do not put things that no one knows about
 in
 
  OpenSim"
 
 
 
 
 
 
 
  2015-05-27 1:58 GMT+02:00
 
  Dahlia Trimble <dahliatrimble at gmail.com>:
 
  Just to clarify on
 
  the slight chance it was missed, I wasn't
 suggesting
 
  anyone "fork off" in any sense of the term.
 Many
 
  forks, both public and private, already exist and I
 suspect
 
  more will come about.  My hope is that the community
 will
 
  survuve and even thrive beyond any code fork.
 
 
 
  On Tue,
 
  May 26, 2015 at 4:22 PM, Morgaine <morgaine.dinova at googlemail.com>
 
  wrote:
 
  Dahlia writes:
 
  >
 
  I'd like to see disagreement and forks as a means
 to
 
  drive innovation rather than conflict.
 
 
 
  More often than not,
 
  real project forking into separate projects (not just
 
  forking in the github sense) implies an inability or lack
 of
 
  desire to find a meeting of minds with technical peers.
 
 
 
  If requirements are
 
  dramatically different then project forking can be a
 very
 
  reasonable way forward, and to the benefit of
 everybody. 
 
  But if the requirements are really quite similar then
 
  forking is more likely an indication of inflexibility
 and
 
  intransigence by one or both parties.  The communal
 
  engineering process has probably failed.
 
 
 
  This is a
 
  technical project, so it's inherently different to
 
  discussing the merits of cat pictures -- discussions can
 be
 
  objective.  A rationally presented suggestion or even
 a
 
  strong criticism presented in good faith is not a reason
 for
 
  telling people to fork off.  If that is the response
 then
 
  it's a sign of extreme project ill health.
 
 
 
  Negative feedback
 
  is intrinsic to good engineering, and all good
 engineers
 
  embrace it.  That's not theoretical.  Without it
 a
 
  project's direction would never change to take into
 
  consideration the bitter lessons of experience.
 
 
 
  Morgaine.
 
 
 
 
 
  On Tue, May 26, 2015 at
 
  11:35 PM, Dahlia Trimble <dahliatrimble at gmail.com>
 
  wrote:
 
  Apparently there is still a fair bit of passion
 
  about this platform and I prefer to see this in a
 manner
 
  where people can use the code in a way they see fit and
 to
 
  (hopefully) contribute back something or pay it forward
 in
 
  other ways as appropriate. I'm not opposed to forks
 but
 
  I'd hope civil discourse can be maintained even
 through
 
  the times when much disagreement looms. I would hope
 that
 
  various forks and branches could benefit from each other
 and
 
  the community as a whole can thereby benefit. I'd
 like
 
  to see disagreement and forks as a means to drive
 innovation
 
  rather than conflict.
 
 
 
  On Tue, May 26, 2015 at
 
  2:14 PM, Morgaine <morgaine.dinova at googlemail.com>
 
  wrote:
 
  Good data, thanks Cinder.  It doesn't
 
  look like death to me.
 
 
 
  You clearly have some elite query-foo
 
  skills, can you generate a historical list of commits
 per
 
  month and per year?  This is a very strong way of
 debunking
 
  allegations of death!  :P
 
 
 
 
 
  On Tue, May 26,
 
  2015 at 10:05 PM, Cinder Roxley <cinder at alchemyviewer.org>
 
  wrote:
 
  On May 26, 2015 at 2:59:54
 
  PM, Morgaine (morgaine.dinova at googlemail.com)
 
  wrote: I'm just an observer
 
  on this project, albeit a very long term one, dating back
 to
 
  near the beginning.  One thing that long-term observers
 are
 
  well qualified to do is to confirm or to deny the
 veracity
 
  of allegations of long-term trends.
 
 
 
  Mike Chase's allegation that
 
 
 
  "OpenSim is slowly dieing
 
  (IMO) from neglect"
 
 
 
  is clearly unfounded since commits show
 
  no sign of stopping.  I haven't checked the rate
 of
 
  commits so perhaps Mike has more information in this
 
  regard.  I welcome better
 
  information.https://www.openhub.net/p/opensimulator/commits/summary-- 
 
  Cinder
 
  Roxley
 
  Sent
 
  with Airmail
 
  _______________________________________________
 
 
 
  Opensim-dev mailing list
 
 
 
  Opensim-dev at opensimulator.org
 
 
 
  http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 
 
 
 
 
 
 
 
 
 
 
  _______________________________________________
 
 
 
  Opensim-dev mailing list
 
 
 
  Opensim-dev at opensimulator.org
 
 
 
  http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 
 
 
 
 
 
 
 
 
 
 
  _______________________________________________
 
 
 
  Opensim-dev mailing list
 
 
 
  Opensim-dev at opensimulator.org
 
 
 
  http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 
 
 
 
 
 
 
 
 
 
 
  _______________________________________________
 
 
 
  Opensim-dev mailing list
 
 
 
  Opensim-dev at opensimulator.org
 
 
 
  http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 
 
 
 
 
 
 
 
 
 
 
  _______________________________________________
 
 
 
  Opensim-dev mailing list
 
 
 
  Opensim-dev at opensimulator.org
 
 
 
  http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 
 
 
 
 
 
 
 
 
 
 
  _______________________________________________
 
 
 
  Opensim-dev mailing list
 
 
 
  Opensim-dev at opensimulator.org
 
 
 
  http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 
 
 
 
 
 
 
 
 
  -----Inline Attachment Follows-----
 
 
 
  _______________________________________________
 
  Opensim-dev mailing list
 
  Opensim-dev at opensimulator.org
 
  http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 
 
 
 _______________________________________________
 
 Opensim-dev mailing list
 
 Opensim-dev at opensimulator.org
 
 http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 
 
 
 
 _______________________________________________
 
 Opensim-dev mailing list
 
 Opensim-dev at opensimulator.org
 
 http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 
 
 
 
 -----Inline Attachment Follows-----
 
 _______________________________________________
 Opensim-dev mailing list
 Opensim-dev at opensimulator.org
 http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
 


More information about the Opensim-dev mailing list