Author Topic: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality  (Read 38802 times)

MarcoZan

  • Veteran
  • ***
  • Posts: 148
    • View Profile
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #15 on: June 24, 2009, 07:52:20 pm »
I thank you for all your comments, and...yes..you guys are right....

The problem is, i'm stretched thin as it is.

It is also worth noting, that as of right now, i'm the one person besides the original creator of the software (aaron.b) who knows and touches every single part of the system, and even he hasn't touched significant parts of it since 2006.

I need to be able to continue doing that, because I know exactly how this system needs to go together

-Thom

That's exactly why I think that at this point a "divide et impera" approach could be worth a try. The overall task is way too big for only 5 guys, even if they have full knowledge of the whole thing.

In another post i've seen a quest for a Datagrid Workshop: how many non-devs replied? I think a few.

I myself had great benefit from the first (and so far only one) workshop on GSD that you and Dan Damron held last year. I did not know a heck of Ruby, after that workshop I slowly started to build my GSD learning the needed Ruby on the way.

Probably it could be a good thing for you core devs to stop for a while, and invest some of your time in some workshop like that.
There's no people more indicated than you to do this, as you perfectly know which are the areas where also a novice could start helping.

I know that this appear like a gamble, as not much people showed up to be collaborative so far. Maybe an injection of knowledge could change things a bit.
If someone else joins the development, surely the project will benefit.
If nothing happens, at least you switched your minds to something different for a while (that could be not that bad ...)

Marco




tmoore

  • Guest
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #16 on: June 24, 2009, 08:47:32 pm »
First, to all devs, thanks for all of your past and current efforts!  Hopefully the previous posts show that your work is appreciated, even if that is not said enough.  (Which reminds me, I must buy my wife some flowers on the way home from work today... :) )

I'd love to help out in some way.  Like everyone else, unfortunately I can't currently spare a lot of time due to work and personal pressures, but I hope I can contribute some and I'd like to make a start with this post...

The focus of this thread has been on the work being of a technical nature.  Herein lies one of the core issues.  The project is also lacking management resource and/or experience, and that is evident from the requests of what needs to be done and who should be consulted.  Without the correct management structure, the work will get even harder and less fun.  This is where I, and others, may be able to help.  I'm a management consultant, specializing in IT businesses of all types, and have previously run a successful software startup.  I'm not a coder (any more), but I know how successful software organizations work and from what I'm reading, and have experienced, the project is suffering the same exact problems as a young software company going through its next stage of evolution.

Good news! Handled correctly, this means great things are to come.  It is also the point at which many organizations fail.  Now is the time to regroup, consider what the key objectives of the project are, structure it appropriately, recruit resource, and manage the growth.  There's room in the project for marketing too (web site enhancements, press releases, even potential revenue streams).  In short, it's time to start running the project more as a business.  With structure comes simplicity and progress.

First off, the principles of the project should be agreed.  A mission statement, if you like.  I'm just talking about a few key points that sum up the aims of the project, and communicate them to everyone.  Otherwise, people can pull in opposite directions, motivated by their own needs, wants and interests.

A key fundamental consideration, in my opinion, should be whether the project continues to be entirely free, or whether there should be a commercial aspect to it.  Frankly, we may get more people willing to give up "free" time, if they get a small amount of compensation.  Not because they are greedy, but because time is not free.  We all have expenses, and our jobs provide us with the cash we need to live our lives.  Not everyone has the luxury of being to donate that time to the project, as it would mean less cash to live.  Also, there are costs associated with the project.  Test environments cost money.  Web hosting costs money.  So does marketing, recruiting, and a whole bunch more.  There are plenty of options to consider here, from donations to tiered services, free modules and add-on commercial modules.  The recent positive responses to a non-free iPhone orbiter app is proof that many people are willing to pay in order to get certain features.  I believe a compromise could be met between wanting to keep this a community project, and in bringing in enough revenue to keep it going and to make it good.  Take a look at Astaro, for example.  They have a stable, beautifully presented product, that generates a lot of income yet at the same time is free for home users.  This is one end of the extreme, but if the community agrees that it could be worth aiming for (we're talking possible mass commercialization here), then the project could even attract venture capital and become a household name.

With the fundamentals of the project's direction agreed (and even a constitution, of sorts), the next step should be to elect a top management team and delegate responsibilities.  The team should develop a strategy (how to recruit, manage the project, what the priorities are, etc.).  Focus should be on the coming 12 months, but with a higher-level vision of the future.  The managers should recruit and delegate more specific responsibilities.  In a regular business, you wouldn't want too many levels of management or too many managers.  However, for a project of this nature where everyone is (very) part-time, I believe that this is a necessity.  The less responsibility each team has, the more chance that they will have to get their work done in their available time.  It also means that if they have to drop out for a while due to real-life pressures, that big chunks of work wouldn't just stop.

My observation is that after defining the business plan and electing the top management team, documentation should be the highest priority.  Everyone will immediately need a clear high-level picture of the software components and how they fit together.  We (all) need to know exactly what we've got and how it fits together before we can make improvements.  This is especially important when you consider that, as discussed above, most individuals will only work within the tight constraints of their own little project and not have an understanding of the bigger picture unless it is clearly defined and communicated.  Nor will they have the time or inclination to try and piece it together themselves (as pointed out several times in this thread already).

I could go on, but hey, who has the time, right? :)

Here's the call to action.  Thom, and the other (5?) devs, you are the leaders at the moment.  If you agree, then I suggest you put this into action and set the wheels into motion for us other interested people to help take LMCE into its next phase of evolution...

1. Define the project charter.  This should involve some big considerations such as whether the project should have a commercial element.  Perhaps a community vote or two would be appropriate here.
2. Request volunteers who'd like to act as managers, including their credentials and how much time they could offer.
3. Either allocate positions according to how you see fit, or (preferably) offer the chance for the community to vote on the positions.
4. The top team defines the long-term and 12-month business plan, and communicates it.
5. Recruit team managers for sub-projects and get working towards the goals in the plan

Thom (and other devs), this will mean you letting go of a lot.  It may also mean some previous strategies being reversed, and that may be hard to do on a personal (or even technical) level, especially if there has been a lot of effort made.  You will have less control, less responsibilities.  You'll also have more time, more fun, and maybe even more money :)  Are you really ready to let go?  This is really the first point that needs to be addressed.

Regards,
Tim.


tschak909

  • LinuxMCE God
  • ****
  • Posts: 5498
  • DOES work for LinuxMCE.
    • View Profile
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #17 on: June 24, 2009, 09:15:43 pm »
If you actually take a LOOK at the system...

I mean, actually study it, and not just assume things...

You'll find that it _IS_ modular.

It's the interdependency of the glue underneath that makes things interesting.

I will write a longer description later. But for now, look at and study the developers guide in the wiki.

-Thom

geekyhawkes

  • Guru
  • ****
  • Posts: 230
    • View Profile
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #18 on: June 24, 2009, 09:19:53 pm »
I agree with pretty much all of the comments above (not useful i know), which ever side of the spectrum they swing.  And clearly am very grateful to all of those that have driven this product as far forward as it is now.  Thanks for both the time, code and support here in the forum.

I feel the general feeling is a willing to help but with a lack of knowledge.  I understand that the 5 guys who understand the system are frustrated by the repeated "daft" questions from newbies trying to get 810 working (i certainly have posted my fair share on my way to getting my system nearly working).  

I think everyone can make some contribution, the challenge is splitting up the work and making sure the right people can give guidance when needed.  Most of the guys here are probably in the advanced beginner group, can find our way around linux (pretty well), bit of scripting, various languages to some level and reasonable system knowledge.  To that end I think there is a huge skill set for constructive Beta testing and feedback (not just random my XXX doesnt work after upgrade).  We also have a reasonable amount of people willing to re-design the website and wiki here.  

I think a way forward would be to start another thread with the workload split up and take volunteers (at all levels).  This would at least all us to take stock of where we are, and if indeed we can spread the load alittle.  (I certainly would be willing to dive in with a website / wiki redesign and would love to learn more).  

For me Linux MCE has been a real journey and has taught me loads about AV systems as well as some of the inner workings of linux that I would never have come across if I had not installed MCE.  The original aim is still a good one, and MCE is still WAY ahead of the other "media" systems out there (even in an ALPHA form!).  

My 2 cents;

Andy


Che

  • Regular Poster
  • **
  • Posts: 36
    • View Profile
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #19 on: June 24, 2009, 09:45:44 pm »
I agree with WB. Show me the path, and I will help.

wierdbeard65

  • Guru
  • ****
  • Posts: 449
    • View Profile
    • My Quest
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #20 on: June 24, 2009, 09:55:43 pm »
Tim,

All valid points, although I (personally) have issues with the revenue generating side of things. I got into Linux (and as a result MCE) because I dislike Micro$oft's market dominance and I'm basically a tight git who wants something for nothing! I'm also concerened about the whole licensing issue. Not only do we have the FOSS licence to consider, but then there's the proprietary stuff licensed by Pluto that has caused much discussion elsewhere.

What I think WOULD be a good idea, however, is having merchandise that is available to purchase, thus generating cash. There's the obvious things like mugs and shirts, but there are others (including add-ins like an iOrbiter). I would even be prepared to investigate something like this, although before getting anything produced the comments elsewhere about a new Logo (and, heaven forbid a new name) need to be adequately addressed!

How would we collect together, and then allocate the funds? Things like website hosting are an obvious cost, but could we create a pool of development equipment that could be borrowed? (Or, alternatively, a server farm which people could use as their development environment remotely.) I'm even up for the idea that the senior devs (/managers?) could receive some financial reward for their efforts. I know Thom (et al) is not here for the money - his reward is the stress  ;) but if the MCE community could raise enough cash to pay some folks, it wouldn't be a bad thing, in my view.

As I have already said, I'm keen to put something back into the community. As you have said, not all contribution has to be in the form of development.
Paul
If you have the time to help, please see where I have got to at: http://wiki.linuxmce.org/index.php/User:Wierdbeard65

tmoore

  • Guest
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #21 on: June 24, 2009, 10:16:41 pm »
WB,

Valid points also.  As far as Linux and Micro$oft goes - me too!  Although, the comparisons may be a little premature.  There's plenty of stuff that I gladly pay for, and some of it is based on FOSS.

I like your idea about merchandise.  It's one of many options available, and the subject is worthy of a larger discussion.

Licensing issues almost certainly could be overcome.  However, it would probably mean shelling out on an attorney.  Another thing to spend some of that cash on...  I faced the same issues in my old business, which makes use of FOSS.

As far as coming together and managing the funds, that would be a responsibility of the management team.  It should be done correctly, probably with the establishment of a C Corp and a bank account.  The top level management would have the legal responsibility to use the funds only in the best interest of the company, and in accordance with its articles.  As a company, the project would be able to make use of tax breaks, enter into legal agreements, and so on, while its management would have the legal protection of a limited liability company.

Good idea also regarding the server farm. 

tmoore

  • Guest
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #22 on: June 24, 2009, 10:59:23 pm »
Here's my quick $0.02 on code "rewrites"....

First, there is almost always room for improvement.  The question is, where is the effort best spent?  Improving existing code, or writing new code?

Sometimes it is worth going back to the beginning an questioning whether the architecture and algorithms are correct.  It is good to get fresh eyes on the subject, too.  Best practices can change.  New tools/modules may be available from other projects that could negate the need for maintaining a parallel code set.

Even if the current architecture is good, it doesn't mean that we shouldn't consider optimizing the code (including, perhaps, improving the comments in the code).  In fact, I've come across situations where the code has been completely re-written just to improve the documentation, as it was easier to re-write sections of code than to make sense of someone else's work and trying to document it.

I think it would be good to keep an open mind on whether parts of the system should be re-written.  However, this should be coordinated properly and priorities weighed up.  Working out those priorities and assigning responsibilities should be addressed before jumping in and re-writing anything.

hari

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 2421
    • View Profile
    • ago control
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #23 on: June 24, 2009, 11:41:46 pm »
As a note, I'm not at all fed up with ppl asking questions. In fact I'd appreciate more ppl asking questions while stumbling around the codebase.

Regarding lack of developers, just be aware that we won't find many ppl of that kind on the planet:
1.) Linux skill
2.) coding skill
3.) HA interest
4.) willing to read into a massive codebase
5.) willing to cope with a "break" between the original devs and the bunch of us now continuing
6.) willing to spend most of the spare time besides a 40h job for about two years to understand the code
7.) willing to contribute to a project not consisting of 100% FSF licensed bits
8.) having the money/flat/house to be able to buy all the toys and to use all aspects of lmce

i'm sure i missed something..

Regarding project management and such, it is a bit different for projects with non-paid developers. You just cannot set up deadlines. People do this for fun in their sparetime, you cannot force them to deliver on specific dates and do this or that task. That is not how OSS/FSF works (without paid contributions).

br, Hari
rock your home - http://www.agocontrol.com home automation

hari

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 2421
    • View Profile
    • ago control
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #24 on: June 25, 2009, 12:00:27 am »
...but I really think if LinuxMCE was more modular with some kind of plug-in system it would be easier to develop for and allow easier addition of functionality.  Instead of one huge install, perhaps you would install a base system.  If you want zwave support, you then install the zwave or a more generic home automation package.  Same for media, asterisk, MAME, etc. 
with small little unix style daemons adhering to http://upnp.org/standardizeddcps/default.asp and providing services? Even usable outside of lmce? Orbiters not running on the screen but on tablets/in-wall and being smart upnp control points? Network media tanks for tearing free full hd playback? Device addition without router reload? Sacrilege!!

br, Hari
rock your home - http://www.agocontrol.com home automation

tmoore

  • Guest
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #25 on: June 25, 2009, 12:03:56 am »
Hari,

I agree with your comment that you can't hold people to deadlines for OSS/FSF.  That's one reason why its important to split the work into smaller pieces, so that the project doesn't stagnate because of the availability of a few key people.  Another is to address your other point regarding skill sets and knowledge.  If we lower the entry barrier by keeping sub-projects small and documentation good, then more people will be able to help and their drain on the resources of the LMCE "Gods" will be less.

Likewise, I also agree that you can't force anyone to work on any particular tasks.  However, I think that there is a general willingness for many people be assigned to specific tasks, perhaps within teams that interest them.  There have been requests in this thread to that end.  Of course, people should also be free to volunteer for tasks (or teams) if they have a particular interest.  As you say, it should be fun.

None of this negates the need for proper management and coordination of the tasks.  Development of the Linux kernel, to make one comparison, has been quite tightly managed.  Management of a project of this type shouldn't be autocratic, but at the other extreme, anarchy is not a good idea either.  Some basic coordination of priorities and direction shouldn't detract from the fun.  On the contrary. I'm sure that it would relieve a lot of frustration and stress, and avoid duplication of effort.

Tim

wierdbeard65

  • Guru
  • ****
  • Posts: 449
    • View Profile
    • My Quest
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #26 on: June 25, 2009, 12:20:14 am »
I can only speak for myself on some of these, but...

As a note, I'm not at all fed up with ppl asking questions. In fact I'd appreciate more ppl asking questions while stumbling around the codebase.

Well, you're asking for it now!

Regarding lack of developers, just be aware that we won't find many ppl of that kind on the planet:
1.) Linux skill

As others have said, even contemplating MCE without some serious Linux skill is at best naive and at worst foolhardy. BUT recommend a good online advanced course.

2.) coding skill

Again others have said it, but not all development / contributions have to involve coding. However, it is a skill that can be learnt with right guidance.

3.) HA interest

We're here aren't we? Also, MCE is about Media AND HA AND.... For me, it's Media first. Then cool orbiters and the UI. HA is WAAAAAY down the list. I live in the UK, so finding compatible, and reasonably priced, HA kit is near to impossible anyway ;)

4.) willing to read into a massive codebase

A good map or a helpful guide-book can make the most inhospitable cities easy to navigate ;)

5.) willing to cope with a "break" between the original devs and the bunch of us now continuing

Why is that an issue? I only know of it due to it being mentioned a couple of times recently.

6.) willing to spend most of the spare time besides a 40h job for about two years to understand the code

Well, like I've mentioned elsewhere, I travel a lot with work. I could read the latest Tom Clancy, watch NCIS on my iPod or get stuck into getting my head around MCE. I'm sure others could find at least some time!

7.) willing to contribute to a project not consisting of 100% FSF licensed bits

I am not a lawyer or a politician, but why would this bother me to the point of not becoming involved?

8.) having the money/flat/house to be able to buy all the toys and to use all aspects of lmce

This is the biggy for me. That's why I'm suggesting that any money raised for the project is used to provide developer resources. Either in the form of kit that is purchased, or a server farm to develop on.

Regarding project management and such, it is a bit different for projects with non-paid developers. You just cannot set up deadlines. People do this for fun in their sparetime, you cannot force them to deliver on specific dates and do this or that task. That is not how OSS/FSF works (without paid contributions).

I agree, although Tim seemed to talk sense and have knowledge of such matters.

GNU/Linux itself, without all the FOSS based on it was / is a HUGE project, yet is very successful.

Hari, my concern is that the devs, with the greatest respect, seem to be saying on the one hand that there are too few of them and it's too much work so can some more people PLEASE get involved, but on the other that it's just too complicated to learn at a level to be useful.

I WANT to learn. I may not succeed and like a lot of people, will in all likelihood give up, but that isn't the point. If the "right" people are as rare as you say, then you can't afford to alienate any of them. Nurturing new devs by providing documentation that is easy to follow and clearly explains the system will not put anyone off! If as a result you get a "sticking rate" of 2 in 1000 instead of 1, then it's been worth it  ;D

Right, first two questions.

1) Has anyone successfully built an 810 development rig on VMWare? If so, is the process documented?
2) Once I've built my dev rig, where should I start? Wiki (which page?) Source code? (Which file?) Other internet resources (URL?)
Paul
If you have the time to help, please see where I have got to at: http://wiki.linuxmce.org/index.php/User:Wierdbeard65

skeptic

  • Addicted
  • *
  • Posts: 615
    • View Profile
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #27 on: June 25, 2009, 01:06:10 am »
...but I really think if LinuxMCE was more modular with some kind of plug-in system it would be easier to develop for and allow easier addition of functionality.  Instead of one huge install, perhaps you would install a base system.  If you want zwave support, you then install the zwave or a more generic home automation package.  Same for media, asterisk, MAME, etc. 
with small little unix style daemons adhering to http://upnp.org/standardizeddcps/default.asp and providing services? Even usable outside of lmce? Orbiters not running on the screen but on tablets/in-wall and being smart upnp control points? Network media tanks for tearing free full hd playback? Device addition without router reload? Sacrilege!!

br, Hari

Clearly I didn't explain what I meant very well.  All sarcasm aside, I think you know what I'm getting at.  The ability to change something or add new functionality, Thom's MAME stuff for example, without needing to dig into the database, HADesigner, and whatever else he had to do to get it working.  Obviously, as Thom also pointed out, the architecture itself is modular.  It also appears very flexible, and effective in it's execution.  The DCE is a great design and allows all kinds of neat stuff that we LMCE users enjoy and MS MCE users dream about.  As Thom described it, the glue underneath makes things interesting.  It's that part of it all that in my basic (or lack of) understanding makes things complicated.  The architecture may be modular, but as far as I understand it you can't integrate a new app such as a simple front end to HandBrakeCLI without understanding LMCE as a whole, digging into HADesigner, and whatever else needs to be done.  That's what I'm referring to.  
  

I'm not saying it's broke and needs to be changed.  I'm just saying that the amount of knowledge and understanding required is an impediment to new or casual devs that may otherwise contribute small nifty features, or be willing to tackle other things like what Thom did with adding pause/mute buttons on screen.  Maybe what I see as an overall issue is really just an HADesigner/gui issue?

rafik24

  • Guru
  • ****
  • Posts: 158
    • View Profile
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #28 on: June 25, 2009, 02:13:04 am »
  Hi Guys,

So far we got something that is far away further from any media center.

I feel as if we are getting to a point where it is a mater of live or die kind of thing for the project.

 I think that we need to improve the project by getting some full time devs and other ressources to push over the project and see it coming live defeating some m$ and others by bringing up something that has never been done before.

I'm owning a company for few years now and even dow i've been a tight tech dreaming of an all free world for which im trying to contribute every day i thing that Tim is right about bringing some cash in to get a full time staff defined objectives to the code, marketing an evolution.

i would like to contribute to the project also, i've been involved in few project *nix driven down to systems, networking for telco operators and so but i shall admit lmce is a huge part to handle even for experienced techs engineers or else.

I have spent week end, hours to hack into the code even if i'm ain't a coder but theres too much to do at once as others said.

well, fair enough otherwise it wouldn't be what it is.

 Back to thoughts we need an input somehow that would turn lmce into a company with a community release in order to get up to speed and see what we're all hoping to get alive ( we got what is needed at least ).

 We need to get the industry to inject some cash at to get up to speed and manage the thing properly so the exec decisions are made for both the business and community.

 We need to have a specific hw base so we wont spend time over my controller doesn't work or my mobo
is doing weird thing, in the mean time we can still support users coming to the community in order to keep them interested and spare some time trying to help out whoever is coming in as we did for some time.

 We need to go to the next level even if i hate commercial stuff, i learned my way out  on FSF linux and so on, thanks to the people i've met that shown me the way but here if we want to go live with something that would kick the a** we need to be fast.

 Willingto see what i've looked at and tried to help my way getting real.

All the best,

Rafik




fastie81

  • Veteran
  • ***
  • Posts: 136
  • SSDD
    • View Profile
Re: Letter to the Community: LinuxMCE 0810 - The Cold Honest Reality
« Reply #29 on: June 25, 2009, 03:29:24 am »
Hi Guys

I know where Thom is coming from.
I just want to say thanks to what you and the rest of the Dev Team has done.

Now I am not a programer. I know my way around linux. However I would love to be able to write someting or improve and fix things.. I am a very quick learner.. So Thom if you can help me by pointing me in the direction and maybe help me to start of with something small so I can learn.

So I don't want to tell you what we should do or how we should do it.. All I am saying is here I am, I want to help in any way I can.

I think this is a great product and  I would realy like to see it grow..

I have put my had up.

C