Why are developers so obsessed with upgrades?

If it doesn't fit anywhere else, drop it in here. (not to be used as a chat/nonsense section)

Moderator: Moderator Team

SomeGuy
Posts: 586
Joined: Mon Nov 29, 2004 9:48 am
Location: Marietta, GA

Re: Why are developers so obsessed with upgrades?

Post by SomeGuy » Thu Sep 13, 2012 3:55 am

Windows XP AKA NT 5.1 (with service packs) is basically the same thing as Windows 2003 server AKA NT 5.2, and not radically different from 2000 AKA NT 5.0. Windows Vista, AKA NT 6.0 on the other hand had a lot changed around and added.

I believe the devs feel that NT 5.x compatibility is currently a realistic goal. Once that goal is reached adequately, they will certainly move the goal to NT 6.x.

Although in many areas they don't even have the capabilities of NT 3.x yet.

tamlin
Developer
Posts: 4
Joined: Wed Nov 23, 2005 12:00 am

Re: Why are developers so obsessed with upgrades?

Post by tamlin » Thu Sep 13, 2012 4:28 am

Dave3434 wrote:btw i most ask why reactos is trying to be windows server 2003 why not xp pro or vista?
ReactOS had/has to select a target to strive for compatibility with.

While XP would at a time have been a decent goal, sp2 added some stuff current software sometimes depend on. But it's also a bit of a dead-end, as XP hasn't been manufactured for a decade.

Vista is a completely different beast, not the least suitable for trying to mimic with the resources ReactOS has at its disposal.

Windows 2003 (usually in form of "Server", but many have happily converted it to "Workstation") is quite possibly one of the best 5 operating systems in the NT line Microsoft has ever released. That in itself makes it a decent goal.

If we look at the scope of the undertakings involved, and please do remember that MS have, what, 50.000 people+ at their disposal and 50+ billion USD? ReactOS have effectively $0 (not entirely true, but you get my drift - ROS has no revenue stream allowing hiring 5 developers, much less ten thousand times more) and at best a handful of developers doing this out of the love for it.

So here we have the problem of trying to get a few (!) people doing this development out of love (!) to all pull in the same direction. So a target is needed.

NT4? ROS had that as a target for quite some time, but when software started requiring features from e.g. XP, ROS had to adapt, else that software would never run on ROS.

Along came Windows 2003. The possibly best middle-ground. It has all the features of XP that most (all) software ever uses, yet it's not so complex as Vista. It has the kernel enhancements many of us wants to support more recent CPU's and speedups, yet it's also not so different as to require a hundred more man-years just to become compatible.

On Windows 2003 you can run just about ANY Windows software. That's not true for many of the 25+ versions of Windows we're looking at. As such, it's the most logical choice.

If I, today, were asked to select a Windows version to target compatibility with - It' would still be Windows 2003. sp1 or not.
(please note I'm not talking about the Server-specific services here, like DHCP and DNS servers, I'm talking about core functionality).

* I speak only for myself, not for ReactOS.

tamlin
Developer
Posts: 4
Joined: Wed Nov 23, 2005 12:00 am

Re: Why are developers so obsessed with upgrades?

Post by tamlin » Thu Sep 13, 2012 4:45 am

alexei wrote:It's everywhere: latest version, upgrade, new functionality, new GUI, etc.
Why? It looks like developers prefer (often/mostly questionable) innovations to improved stability and polishing existing software.
It's getting worse, upgraded software requires upgrades in operating system, installation of the additional stuff, etc.
alexei hit a nerve with me. You see, I'm with him on every single point here.

Program A that I have run for ages releases an update, and all of the sudden (for no valid reason generally) they start to depend on OS feature X, that is only available in OS version Y, hence I'm *forced* to upgrade OS (read: pay more money) just to benefit from what should have been a bugfix release. This is an error of the vendor for A, and they should in a perfect world be punished for it.
alexei wrote:How could you expect your software to be stable if it constantly changes and fixing old bugs is mixed with introduction of the new ones.
This is what Microsoft lives of. They don't fix bugs in software. Remember, even Bill himself said "our software has no bugs"! But on the subject, I still have a bug I reported during Windows 95 beta program that MS hasn't fixed yet in Windows 7.
alexei wrote:MS cares about profits, but developers of the free software are (I expect) making their software for fun and pride. Why are they so obseesed with innovations and updates instead of stability and quality?
Is ReactOS really in this camp? I know many Linux distributions are, and from where I'm standing they are chasing after each other to be the first to crash. But ReactOS? We are not yet at the stage any one of us developers can stand proud and say "We have NO remaining bugs that we know of! I now use ReactOS as my main operating system!".

Instead, we are (I hope) working towards that nirvana of stability and quality. Should you ever see anything to the contrary, I'm sure all ReactOS developers would appreciate you reporting it.

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Why are developers so obsessed with upgrades?

Post by Z98 » Thu Sep 13, 2012 5:45 am

Good god, this is only your second post, tamlin? You really have been avoiding the forum.

That said, MS added a lot of nice convenience functions to Vista that I would dearly love to use except my group still supports XP. We're going to be setting the minimum requirement to SP3 soon enough, and XP SP3 is effectively Server 2k3. MS sneaked in a lot of 2k3's system functions into XP's SP3. The only real question is are we simply going to skip Vista and mandate Win7 when we drop support for XP.

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Why are developers so obsessed with upgrades?

Post by Dave3434 » Thu Sep 13, 2012 5:57 am

when you drop xp is it possible to just the kernel version and just have the same features as xp without windows areo and all?

Pisarz
Posts: 375
Joined: Sat May 12, 2007 9:29 am

Re: Why are developers so obsessed with upgrades?

Post by Pisarz » Thu Sep 13, 2012 7:11 am

I don't think that anyone considers implementing Aero UI, especially because it would require additional amount of time that no developer has to spare. Lautus UI isn't even implemented yet.

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Why are developers so obsessed with upgrades?

Post by Z98 » Thu Sep 13, 2012 7:45 am

Dave3434 wrote:when you drop xp is it possible to just the kernel version and just have the same features as xp without windows areo and all?
Assuming you are asking about when ReactOS moves its target from XP to something else, the answer is complicated. Shifting the target to, say, 7, would require we support both kernel and user mode enhancements and new APIs, some of which would require massive architectural shifts including the Desktop Window Manager. Aero can best be considered a theme that people too often confuse or conflate with the DWM, which is a composite engine like compiz on Linux distros. For compatibility purposes and because it does have some genuinely nice features, we probably want DWM. The complication is DWM has significantly higher requirements with respect to graphics cards than the current graphics engine. MS has long given up supporting older generation hardware with their OSes. We have a reputation for somehow managing to run on obscenely old hardware that really should be put to pasture. How and if these differences can be reconciled is an open question. Assuming we get to that point, we may find ourselves basically freezing the 2k3 targeted version of ROS and move onto a more Vista/7/8 architectured version. There simply may not be a way to preserve the low resource requirements of the 2k3 targeted ROS if we shifted to a NT6+ target.

PurpleGurl
Posts: 1788
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Why are developers so obsessed with upgrades?

Post by PurpleGurl » Thu Sep 13, 2012 6:48 pm

alexei wrote:Discussion about "what users really need vs. what they are asking for" should go to another thread, but why so many posts here refer to users and competitiveness? I would state that if software is "good", users would like it, regardless of what they thought they want. BTW, Win 7 Start menu is not good (though in some respects it's advantageous, it has a lot of disadvantages as well).

My point is that elegant (both internally and interface-wise) and (almost) bug-free software doesn't need candies to get its customers and well-build stuff does not need "improvements". MS needs to sell its software again and again making people paying for basically same stuff many times. Linux community is changing stuff just for fun and out of false sense of progress...
Competition is a part of this topic when you think about it. Developers often push upgrades for features users don't really need because because the "other guy" is doing it. Notice a number of features in Windows that most users don't use, but which are there because someone else was doing it. They add things to fight off the market, out of fear someone else will dominate in another area and then move into writing operating systems. They cannot have that without a fight, since they have to look ahead. Likewise, if there is any public fanfare about something, they want to add it because if they don't add it, someone else will. Microsoft wants to try to push into the tablet market, or at least it seems, so again, you see that reflected in Windows 8.

What I'd like to see is that we keep the classical layout, even as we go to the newer targets. I like the Win 7 "Classical" well enough. I don't like other things about it like the way they do their indexing. In XP, you can totally disable the indexing service and it will just crawl the hard drive, like Windows 2000. In 7, if you disable indexing entirely, you cannot search at all, since it won't even attempt a crawl of the drive(s) in question. So I just leave the index service enabled.

Dave3434
Posts: 323
Joined: Tue Jun 28, 2011 2:14 am

Re: Why are developers so obsessed with upgrades?

Post by Dave3434 » Thu Sep 13, 2012 8:16 pm

if you disable indexing entirely, you cannot search at all, since it won't even attempt a crawl of the drive(s) in question. So I just leave the index service enabled.
i noticed that to.

alexei
Posts: 137
Joined: Wed Oct 19, 2005 5:29 pm

Re: Why are developers so obsessed with upgrades?

Post by alexei » Thu Sep 13, 2012 9:29 pm

Z98 wrote:On the topic of volunteer open source devs, alexei, you are making a very common mistake regarding for whom they develop for. A significant portion of them are writing code to suit their needs. That someone else finds it useful is a bonus, but not the driving force behind their involvement.
When I write something for myself I'm trying to make it perfect so I could enjoy using it. I was always wondering how people can use "I worote it for myself" as exuse for poor quality. Is it a lack of self-respect? Regarding "someone else finds it useful is a bonus" - it's not just a bonus, GPL says "This program is distributed in the hope that it will be useful", so releasing your program under GPL you are expected to hope it would be useful, i.e. you are supposed to believe the people would benifit from using it, not that you just don't care if it will be useful or not (that's how your statement sounds to me).
Z98 wrote:The limit of my philanthropy was to release it into the wild in case someone else might potentially find it useful. Beyond that, someone else's frustration with the program does not matter to me since I have no emotional or economic investment in the program after I am "done" with it.
Just "release it into the wild"? Not really...
Let's take a look at http://www.gnu.org/licenses/gpl.html
"the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions"
As you see, software problems may(should?) be "attributed" to software authors. Why would they mention it if authors don't care and have no moral obligations? Why would web sites with GPL software use bug-tracking software? Why would they ask for suggestions?
Z98 wrote:Larger open source projects function under a slightly different dynamic, but the core still remains in that the devs are writing something that they want to use. They are unlikely to do any work that would turn the program into something that they do not like. They may be more willing to take into account the views of the users, but the ones with the final say are the ones that provide code.
To me it sounds like: "I want to satisfy your needs, but don't dare to demand. You can only ask politely or pay us money." I noticed this attitude is wide-spread among GPL community. If you want to stand at this position, you have no moral right to promise competitive stuff, ask for donations, and in general trying to create some trust from potential users. You can not pose as being busy doing some kind of community work for masses and at the same time reject moral responsibility to fulfil your promises and satisfy public expectations you created.

Haos
Test Team
Posts: 2954
Joined: Thu Mar 22, 2007 5:42 am
Contact:

Re: Why are developers so obsessed with upgrades?

Post by Haos » Thu Sep 13, 2012 9:37 pm

SomeGuy wrote:Windows XP AKA NT 5.1 (with service packs) is basically the same thing as Windows 2003 server AKA NT 5.2, and not radically different from 2000 AKA NT 5.0.
Neither of this is not true to quite a big extent.

alexei
Posts: 137
Joined: Wed Oct 19, 2005 5:29 pm

Re: Why are developers so obsessed with upgrades?

Post by alexei » Thu Sep 13, 2012 10:15 pm

PurpleGurl wrote:Competition is a part of this topic when you think about it. Developers often push upgrades for features users don't really need because because the "other guy" is doing it.
Unfortunately... :(
PurpleGurl wrote:What I'd like to see is that we keep the classical layout, even as we go to the newer targets.
I think, that's what has to be done, otherwise what would be the point?
I also expect ROS to be fully customizable (see http://nliteos.com/).
PurpleGurl wrote:In 7, if you disable indexing entirely, you cannot search at all, since it won't even attempt a crawl of the drive(s) in question. So I just leave the index service enabled.
Don't use MS crappy search :) I'm pretty happy with TotalCmd for many years ("FreeCommander" if you want a freeware).

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Why are developers so obsessed with upgrades?

Post by Z98 » Thu Sep 13, 2012 10:48 pm

Again, do not confuse a project with a community with small personal efforts.

First, the attribution as described in the GPL is for legal and bookkeeping purposes. Its sole intent is to make sure people cannot just close source GPL'ed code and has very little to do with holding a developer responsible for reliability of the code. Second, note section 15 of GPLv3. It expressly states that there is no warranty, and thus the developer who released it is not responsible for any issues a user may encounter when using the code or compiled program. Third, if I wrote something, it's perfect for what I want it to do. If someone else has a problem with it that I either cannot reproduce or would never use it for, that does not make the program I wrote any less perfect in my eyes. They are either trying to use the program beyond its original design limitations (at which point they're basically asking for new features) or doing something that, if I cannot reproduce, is something that I cannot help fix anyway. And in many respects, if I personally released something under an open source license, unless I had a plan behind it to turn it into something larger, at which point I am explicitly granting permission for people to come to me with requests, my "hope" that it'll be useful extends as far as how willing people themselves are willing to work to make use of my program.

Communities, as I have stated, operate under a different but still developer-centric metric. The developers are asking for feedback and in turn offer a limited form of support through bugfixes in return for that feedback. But every community has limited resources and thus must balance between what the developers feel is important versus what the community feels is important. The community all too often makes requests out of ignorance on the realities and practicalities of software development. These requests represent probably 90+% of the requests that developers reject or ignore. How successful a community is depends on 1) the level of technical savvy of the community; 2) the ability of the formal project members in deflecting unreasonable requests without offending people's pride; 3) the ability of the project members to educate the community so that they stop making absurd requests over time; 4) the willingness of community members to actually learn instead of dogmatically sticking to a position; and 5) the ability of project members to separate out and listen to genuine feedback.

#1 is outside of our control since anyone can stumble onto this project. #2 depends mostly on the patience of whomever is replying to the community on a given day, which can actually result in no official response which will piss people off anyway since they think they're being ignored, so it's something of a we lose whatever we do, but we have to try anyway. #3 is something that swings wildly depending on time and again patience. We usually try to extend an effort, but there is a limit to how much hand holding we're capable of doing. #4 is dependent on community members heavily, and again is something we only have minimal control over. #5 is probably the one area we drop the ball on the most, mostly due to a lack of manpower and time.

This project has a very clear-cut goal: implement an NT operating system targeting Windows 2k3 compatibility. People can and will assume that this goal somehow implies other goals, but their assumptions are their own and may or may not align with what the project intends. We also claim we want to create a stable and robust OS. Due to the broadness of this statement, many people have differing ideas on what is stable and what is robust. It is a fatal mistake to assume that one's own beliefs on how to achieve a goal are shared with the rest of the community or project members unless you somehow get a confirmation from the project members. And even then, the shared belief only extends to those project members who have stated their agreement and is no guarantee that the project as a whole is headed in that direction. Do not premise discussions or positions with that assumption and you're less liable to run into unpleasant surprises when talking with community and project members. Do not assume people think the same way as you do and there will be fewer misunderstandings and recriminations after the fact. Assume no one else knows why you have taken a certain position and you are more likely to notice when people are talking past each other without realizing it.

PurpleGurl
Posts: 1788
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Why are developers so obsessed with upgrades?

Post by PurpleGurl » Fri Sep 14, 2012 12:42 am

alexei wrote: When I write something for myself I'm trying to make it perfect so I could enjoy using it. I was always wondering how people can use "I worote it for myself" as exuse for poor quality. Is it a lack of self-respect? Regarding "someone else finds it useful is a bonus" - it's not just a bonus, GPL says "This program is distributed in the hope that it will be useful", so releasing your program under GPL you are expected to hope it would be useful, i.e. you are supposed to believe the people would benifit from using it, not that you just don't care if it will be useful or not (that's how your statement sounds to me).
Actually, I understand the logic. If you need only so much functionality in something you write just for you, then it makes no sense to code more that what you need for you. It has nothing to do with a lack of self-respect. I could argue that I am respecting myself by not wasting my time coding more than what I need for me. If anything, it shows a person has tolerance and understanding, and don't have to have their hands held. I mean, I would know the flaws of the code and know how not to provoke a crash. Besides, I don't need the eye candy, just as long as it works. This attitude explains the amount of command line utilities as open source. Someone needed something quick and dirty, and they released it in the hopes it would help a few others.

As for GPL, I understand the logic there too. The "hope it to be usable" part refers more to the audience base, not the fact of utility. Also, programmers can benefit from your core code and incorporate it into a more comprehensive program. Like I said before, there are different breeds of programmers. The visionaries who write the first code often get bored and burn out quick. Then there are those who debug and fill it out a little more. When the challenges are gone, they lose interest too, unless someone points out there is more work for them to do. Then you have someone with more of an eye for art and a knowledge of what sells, and they fill in the finishing touches.

I understand the bonus mentality too. Many in open source care primarily for themselves. So to them, others getting to use it too is a bonus, but not their original objective. In a way, think of Ayn Rand conservatism. She believed that selfishness was the goal of mankind and that otherwise would be immoral. But it doesn't mean someone would go around cheating and mistreating people. That would also go counter to her system because treating others well helps facilitate self-interest. You run a store and charge what you can and be mean to the customers and see how long you stay in business. So apply this to open source in that people are mostly interested in what they can use or do. Another person takes your code and their own self-interest causes them to add the features that are important to them. And another does it. Then someone comes along and likes it, but wants it to be more stable or optimized. And yet another likes it, but wants to see it run on their favorite platform.

Just releasing something into the wild does not even require the GPL. You can do that on your own, without them. A lot of freeware is like that. It might also be open source in the sense that the programmer gave away their code, so the GPL is not the only way to be open source.
To me it sounds like: "I want to satisfy your needs, but don't dare to demand. You can only ask politely or pay us money." I noticed this attitude is wide-spread among GPL community. If you want to stand at this position, you have no moral right to promise competitive stuff, ask for donations, and in general trying to create some trust from potential users. You can not pose as being busy doing some kind of community work for masses and at the same time reject moral responsibility to fulfil your promises and satisfy public expectations you created.
I still see no contradiction if the developer pool is big enough. The attitude you see is that of people looking for like-minded people. I mean, there is a target audience, and if others can be benefited, that is fine, but those outside the core audience really don't have much of a standing. That is one cause for project forks. Another major segment likes the idea, but wants it with changes or platforms which are not compatible with the stated goals. Sometimes forks and differing projects have a symbiotic relationship with the parent project - like in the case of ReactOS and Wine. Sometimes forks are more related to personnel issues. Different people have different ideas of organization strategies, build tools, personalities, etc., so they split and carry on elsewhere. But since they are open source, code can still be shared among projects. While we don't need any forks of our project, at least it would not be as bad a problem as in the Linux community. I mean, if 2 teams have the same vision of a Windows compatible OS, then they would be more likely to share code and less likely to change the standards. But with Linux and the like, forks may make the code very incompatible, even at the software level (ie,. Debian may run it by Red Hat won't, despite both being Linux).

As for the stated models, they are not the only models at work. Someone may have a primary preference to code for themselves, but will gladly debug and work in areas that are less comfortable if necessary.

alexei
Posts: 137
Joined: Wed Oct 19, 2005 5:29 pm

Re: Why are developers so obsessed with upgrades?

Post by alexei » Fri Sep 14, 2012 2:10 am

Z98 wrote:if I wrote something, it's perfect for what I want it to do. If someone else has a problem with it that I either cannot reproduce or would never use it for, that does not make the program I wrote any less perfect in my eyes.
Once I ran into Linux distro in which max DPI was limited to 108, though all others I remember also had a field to enter custom DPI. Let's imagine I wrote "Everybody have custom DPI, why didn't you provide it?" What whould be decent response "...-off I don't like it over 108" or "Thanks, I just overlooked it. There is an easy fix: .......".
Z98 wrote:People can and will assume that this goal somehow implies other goals, but their assumptions are their own and may or may not align with what the project intends.
In software industry we have to rely on trust, as legal obligations are just disabled by license agreements, but should we expect developers to act in a good faith?
Should interested in the ROS project have some assurance regarding the future direction of its development?
Of course, it's easy to say "sorry, but no assurance - we are free to go in any direction, and we don't even know what would we like tomorrow". If so, should you say it clealy on the home page in a big print :) If not, should we (all) discuss some rules and limitations? That big project has to have some self-limiting power.
I would bet on "Modern, Classic, Free!" as ROS motto.
Modern for being compatible with current MS stuff.
Classic for keeping traditional classic style.

It's not directly related, but it worth reading, including comments:
http://brontecapital.blogspot.com/2012/ ... osoft.html
We should expect significant disturbance in the Force :)

BTW, server 2008 R2 would go into my trash can, unless I find they way to get Classic Start natively.

Post Reply

Who is online

Users browsing this forum: DotBot [Crawler] and 1 guest