Tuesday, October 11, 2016

2916 OSHG: Useful discussion of the OSHG project started by FreakyTech

Useful discussion of the OSHG project started by FreakyTech
The OSHG project has sparked discussion in virtual-worlds circles.  Freaky Tech is an experienced developer with demonstrated credentials in the form of his own fork  of OpenSim (ArribaSim).   Thus his opinion is well worth a discussion.

Summary

***********************************
  • (More after the break, scroll down!)
  • Where is Arcadia?
********************************************************************** 

Lira Short Poetry Workshop - Tue 10/11, 7pm SLT

This week the Short Poetry Workshop explores the Lira, which is a short 5 line Spanish form with line 2 and line 5 repeated and a rhyme scheme of aBabB. So join us at the Short Poetry Library to learn, write and share your Lira.

Metaverse events, current and upcoming

***********************

Freaky Tech   Opensim Technology - 3:09 AM

Freaky Tech originally shared

Just to give some thoughts

Seems I have to give some details about why some stuff does not work when I see some requirements by some entities:
* Cost fits to budget
-
The real commonly seen rule with software development:
- 60% of functionality
- 200% of cost
- 200% of time
* Length of time the project will take to produce visible results.
* Budgeting
-
Only a commercially handled project will evaluate that. Any project really solely based on free-time should not be required provide such figures.
-
* Specify needed projects
* Recommend contractors to execute funded projects
* Evaluate contractor performance and recommend payment
-
This is really something that reads like "nice project you just give up control".
-
* Roadmap
-
Every project can provide something like that. Only difference between free-time and commercially-funded projects: The latter will place due dates to the listed points.
-
I put those points out of their context deliberately they were originally written in.

*************************************

Background

OpenSim Arriba is a fork derived from OpenSim.
ArribaSim fork offers a quick full grid – - Hypergrid Business
A new branch of OpenSim, ArribaSim, promises better performance than mainline OpenSim while maintaining full compatibility. And now there’s a packaged version of it, called Arriba Mini-Grid, that sets itself up with a single click.
The package is provided by Dorena’s World, a mid-sized German-language commercial grid.
In face, Dorena’s World has recently switched over to the new distribution, grid owner Dorena Verne told Hypergrid Business.
“Dorena’s World is the first grid running entirely under ArribaSim,” she said.
She said she was attracted to the distribution because the developer is extremely fast at responding to problem reports, and because the new distribution runs quickly.
“It is a lot faster, without putting more demands on the hardware,” she said. “In fact, it uses less memory and CPU resources than the traditional, vanilla OpenSim.”
Read more about it at GridTalk.

-
The project claims to be fully compatible with mainline OpenSim, so that ArribaSim regions, for example, can be attached to standard OpenSim grids. Versions are available for connection to OSgrid and Metropolis.

ArribaSim is created and maintained by a German developer known only as “Freaky Tech.”

***************************************

Discussion

Carlos Loff

I face the same dilemma, in my mind almost all the details and functionalities of my mega projects are there for people to be overwhelmed - In practice just putting out some hotel elevators take me 5 hours of a single day
***

Selby Evans (Thinkerer Melville)

Freaky. I see you have plenty of experience managing software development. As you say "Any project really solely based on free-time should not be required provide such figures." Actually, such a project cannot be required to provide anything in particular.
-
If we in the user community want products to meet needs that we have, we will have to pay for the parts that people don't want to do for free. That may be documentation, bug-fixing, or a browser-based viewer. But we can't expect everything that we want to be done for nothing.
***

Freaky Tech
If you think no free-time project would work why are you using some of them? Since there are successful projects solely based on free-time. Just they cannot easily provide deadlines since free-time is not easily controlled.
-
Projects based on free-time only happen to be most commonly managed by people working professionally in software development as well. So, if you would require those to hand out deadlines early, the odds are that these people can end up having burn-outs.
***

Freaky Tech
By the way, I know the model OSHG initiate is based on pretty well from professional work. All those other associations have in common is that they need decades until they get actually something done.
-
Compare Open System Interconnect against TCP/IP stack.
-
Yes, OSI model is not just an architecture model. It is an actual network stack. Just most know only the model of it.
***

Selby Evans (Thinkerer Melville)
I did not say no free-time projects would would. I said that unpaid efforts may not meet the wants of the community of users.
_
Projects done in somebody's free time can, of course, be paid. Projects done without pay, however, will be (as they should be) chosen and done to suit the interests of the person doing them. There is no reason to expect that the sum of those products will match everything the user community wants.
***

Zonja Capalini
Well it's just why Diva implemented HG outside of VWRAP: she thought that they'd get entangled in endless refinements of the specification, debates, comittees, etc. And she wanted the job done, at the time she was frankly confessing that she didn't have time to lose in meetings. Thanks to her we have the fantastic HG we have today. A one-person, part-time, volunteer, committee-free job.
***

Freaky Tech
I have seen a lot of projects with uncontrolled bounty hunting, they ended up in chaos as well. And some in despair of being abandoned later because of unmaintainability. So, just cheering with money will not necessarily help a project.
***
The actual people in charge of project management need to have control over such paid work parts. That means things like quality control and requesting certain standards. If those are handled reasonable, you will even then have paid work end up as not being accepted immediately and being requested to adjust.
Which is by the way pretty common with Linux kernel as well.

Just when I read things like "Recommend contractors when funded" and the like, it reads like we take over control over your project. You have nothing to control anymore.
***

Han Held
There is a larger open source developer world which has been successfully running for going on 20 years (or more), where people have developed software for free, or a combination of free and corporation sponsored.
-
To be quite honest, I think that the opensim community could benefit from seeing what methods and procedures are used by the openbsd and freebsd projects, as well as the emacs editor (maybe -though that's sponsored by the FSF and may not be a good example) and perhaps some smaller projects as well.
-
There's a variety of workable community-based methodologies with proven track records; but folks around here seem oblivious to them from what I can tell.
-
I don't mean that in a harsh or critical way, I only mean that there's many ways that have been used over the years that should be examined.
***

Han Held
The biggest problem in my mind is the gulf between users and developers, the second biggest problem is the lack of active opensim developers (Not counting Halycon, as it isn't opensim).
-
Without interested developers, you'll just have customers making feature requests all day.
***

Freaky Tech
communication between developers and users is really important and sometimes cumbersome. And a good hint for developers of virtual worlds, create in world. Even though, development might take a little bit longer, there is lot of respect to gain with that. And more important let people know that you are not just doing the software part.
***

Seth Nygard
I would like to add that any of these kinds of efforts are predicated on having clean and maintainable code to begin that is accompanied with up to date documentation. This is a critical part of the communication process. It is also my opinion that this documentation process is part of the development process and the responsibility of each coder as they make changes.
-
Where things fall apart quickly is the discovery phase. Programmers that already know the code may be able to code certain features easier or quicker than others. However if it is a monumental effort for anyone else to dig into the code to even see what is being done or why that quickly increases the time and therefore costs involved. Up to date documentation and clean code directly determines the time/effort in these processes.
-
Much of my own career has been development, usually crossing several knowledge domains, and this kind of situation is always at the root of any budgeting or forecast issue. There will be things you know that are unknowns and they can be accounted for, it is the things you do not yet know as unknowns that are impossible to capture.
-
And while I agree that a hard deadline in itself may be impractical to manage in these kinds of projects, a feature roadmap with milestones along the way can be successful. There are numerous open source projects that do that. Blender is perhaps one of the better examples.
-
If I look at OpenSim in general, it shows all the signs of an evolutionary process rather than an engineered one, and this is expected given how such projects typically progress. Changes made are often based on what was previously done, at times possibly with little thought to future needs and changes. These changes are also based on the existing developers experiences and possible limitations. At some point this always results in code that becomes increasingly harder to maintain and simply patching it only serves to hide the underlying issues.
***

Freaky Tech
any project can make up some kind of roadmap. Most bug trackers provide exactly that feature to produce a roadmap. All you have to do is define some future versions and link issues to.
Due dates are not required to define a roadmap.
***

Selby Evans (Thinkerer Melville)
+Freaky Tech I suppose you are inferring due dates from the phrase "Length of time it will take to produce visible results." Nonprofits (in the US, at least) don't work with due dates. The probable operation of a nonprofit in this context is similar to the fundraising and successful project I described in these articles:
-
http://virtualoutworlding.blogspot.com/2015/02/2015-people-crowdfunding-opensim.html
-
http://virtualoutworlding.blogspot.com/2015/01/2015-opensim-promo-funding-for-opensim.html
-
There was no due date. The people on the committee agreed to pay a total of $2000 USD if and when the project was completed and demonstrated to the satisfaction of some designated evaluators. The project was completed in a reasonable time and payment was made. (The programmer asked for less than the amount offered because the project took less time than anticipated)
-
Under this arrangement no one is obliged to do anything. A project is specified and a bounty amount is set. If somebody knows how to carry out the project and is willing to do so for the bounty amount, that person can offer to do the project.
-
Note that the original article is titled: What criteria would a non-profit use to select OSHG projects to fund?
-
Multiple criteria are mentioned. Estimated project time, if mentioned, would be one of the criteria for selection. If it were not given, or if it were a long time (say four years), the project would be less likely to be funded by a nonprofit. The project could still be executed by people willing to do the work themselves without compensation.
***

Freaky Tech
You know how long 20000 USD last for a single full-time developer if he/she wants to live on it? Roughly 4 months.
And with OpenSim in general you look at years of development time.
-
What you neglect to recognize is that I wrote those points more in general context than specific to OSHG as such. That is why I did not name OSHG as such.
Most funding schemes include deadlines or a defined end of funding.
***

Seth Nygard
+Freaky Tech FYI U$2000 USD to actually live on for 4 months (U$500/month) is an exaggeration. Although here in Canada our average cost of living is higher than the USA.
***

Freaky Tech
I said 20,000 USD$ for 4 months. Did you see the four '0'? And that is only based on estimated software developer experience that is required.
***

Seth Nygard

+Freaky Tech Sorry, yes you are correct I missed that 4th zero. Guess my age is catching up to me after all. Since I don't believe in deleting posts I'll leave it her as evidence.
At U$20000 there are people that do live on that for an entire year, although meagerly.
Show less

Freaky Tech
Just based on the required experience and it is based on common wages that people get from business.
***

Serene Jewell
So if full time paid development of opensim is too expensive, and volunteer-only development isn't meeting the needs of the community, what are the options? It seems the bounty system would make sense in this situation.
-
Or perhaps there is another alternative?
***

Freaky Tech
If people try to rely on bounty system, the quality assurance of the project lead needs to function. Otherwise it runs into the very problem OpenSim ran into with varying quality of commits.

-
This is not limited to paid commits only. Actually patches provided without cost and bounty based have to pass adequate quality control as well. Or the cruft is growing pretty fast.
-
Will not work at all if quality control is not established independent of whatever strategy some people may come up with.
***

Serene Jewell
So how can the community help with the quality control?
-
Perhaps a bounty for a documentation effort which would help coders learn the code and help them learn how to contribute in the most useful and efficient way?
-
If the goal is to get more developers who know the code and can be truly helpful, what else might the community be able to do?
***

Freaky Tech
It is about software quality. That is a task of the responsible software developers.
This not really a task for bounties. It is one of tasks that cannot be put out for bounties. Quality controls needs to be stable and evolve with new knowledge gained. You cannot have changing people for that.
***

Seth Nygard
While I agree that code quality is primarily a result of any given developer's experience and methods. It is also heavily influenced by the existing code and supporting documentation. Coding standards help to mitigate this to some degree but also must be flexible. It is generally accepted practice when adding code to existing code to try to closely match the methods and structures already used.
-
There is no way to compensate for the experience any developer(s) may or may not have, but having already clean (quality) and well documented code goes a very long way to helping anyone contribute to an existing code base.
-
There is always a need for new people, with a fresh outlook on things, to get involved. What is hard is to find ways to bridge any differences, experience levels, backgrounds, or personality, and build on everyone's strengths. Egos get in the way often, and developers can often be a "special" breed to deal with in that regard.
-
I don't think there is any one magic solution to this but that should in no way stop us all from trying to find a workable path forward. It will take cooperation and commitment from everyone no matter what those processes may be. We are all stake holders in this in one way or another.
***

Freaky Tech
Reply
You always need a few people that hold the chair to direct a project. Yet they have to be open to listen to others positions without pre-judging. But not necessarily accepting all of those.

**********************************************************************************

News and Notes

    ***********************

    The Hypergrid WIP Show

    The Hypergrid WIP is a one hour "show & tell" of works in progress or recently completed. All builders from beginner to pro are invited.  Presentations are in voice and text.  For text presentations, best bring the text in a notecard and paste it into chat.  Voice presentations may be captured in video.  Stills and videos from the show may appear in this blog and elsewhere.

    Next WIP show 

    • Next WIP show: Sun. Oct 23, Noon SLT 
    • Cookie II location (fourth Sunday of the month)
    • HG address below: paste into the World Map next to Find. Click Find, TP
    • grid.kitely.com:8002:Cookie II 
    • in Kitely: paste into Nav (top) bar of Firestorm, Enter.
    • hop://grid.kitely.com:8002/Cookie II/68/369/22
    • Narasnook  location (second Sunday of the month)
    • Pandora allows presenters to run high threat OSSL functions.
    • world.narasnook.com:8900
    • Put the line above in your World Map next to Find.  Click FindTP
    • At Narasnook, use World Map to search for Pandora
    • Cookie II location (fourth Sunday of the month)
    • HG address below: paste into the World Map next to Find. Click Find, TP
    • grid.kitely.com:8002:Cookie II 
    • in Kitely: paste into Nav (top) bar of Firestorm, Enter.
    • hop://grid.kitely.com:8002/Cookie II/68/369/22

            Previous Articles from the WIP show 

            HG links-- depending on your interests 


            Radio in the virtual world

            Metaverse beginner help

              Schools in virtual worlds

              • I publish 5 or 6 days a week, skipping 1 or 2 days in midweek
              • For more on topics like this, follow Selby Evans in Google+ 
              • What do we do in Virtual Worlds? 
              • Google search this blog: Search bar, upper left--or:
              • Put site:virtualoutworlding.blogspot.com at the end of the search terms 
              • Annotated screen shots made with Jing
              • All original content on this blog is Creative Commons License, attribution only. 
              • Second LifeLindenSLurl, and SL are trademarks of Linden Research Inc. 
              • This blog is not affiliated with Second Life or anything else. 
              • Ads are from Google.
              • Selby Evans in Kitely, Thinkerer Melville in Second Life
              • Lauren is funny


              No comments:

              Post a Comment