OK, guys, let's cool down please. I've just read all the comments so far, and the situation is far simpler that you make it look.
Let's start with everyone's favorite subject, and hopefully it's also the last time it's mentioned on this thread - the AVG toolbar.
1. We don't like crapwere the same as anyone else doesn't like it, and we don't like dropping crapware on our users. But AVG is here now, it might go away tomorrow, and we might replace it with something else next week. We've discussed it internally extensively, we've rejected tons of alternatives, we've added AVG only after we've met with them personally and toured their offices, and took as much precautions we could think of to make it as least sneaky as possible (option isn't hidden, only for official builds which are typically released once a year, can be uninstalled, etc). Take it as a fact for now. There's no point in conditioning contribution because some builds have an option to install AVG. This is how it is right now. We would not like to see people go away for this, but we're also not going to argue this.
Take it for granted that we care about our users. Really all of us do, and we won't drop sneaky crap on them. And yet, it's our decision to make - and we didn't take it lightly or quickly and we took precautions, and it's your decision if you can live with it or not.
Now, if you want to read on, please do.
2. PCSX2 has no devs working full time on the code, very few devs who contribute code occasionally, and definitely not enough resources/knowledge to handle the vast majority of bug reports. Several very involved coders left the project due to various reasons about 2-3 years ago (NOT due to any of the issues mentioned on this thread - e.g. some were snatched by ... big companies), and the devs team has been very lacking since. This includes gabest which was the main power behind GSdx, and existing devs are not knowledgeable enough to rewrite GSdx (Gabest has been known to come back once in a year or so and make changes, but otherwise he's not "in the loop").
3. Code complexity and deterrence/simplification: see 2. Contributions are very welcome.
4. PCSX2 prefers speed over accuracy: absolutely not true. We do sometimes have tough choices, but if a choice is between speed and accuracy, we'd always prefer accuracy, and at most will add the "speed" option as an optional speed hack. It's really simple.
5. Plugins yes no: it's an endless debate. However, you should know: PCSX2 needs only 3 plugins: gamepad (Lilypad), audio (SPU2-X) and graphics (GSdx). These plugins are part of the main repo and occasionally updated/fixed. They're the only main plugins, and no other plugin should be used (most are also not bundled). There were no complications (as far as I know of) due to the plugins system, and there are not enough plugins to duplicate code. Just 3 non-overlapping plugins, all of those are selected by default when starting PCSX2 for the first time, and there's no plugin hell. That's how it is and has been for many years now with PCSX2.
6. C++11 . True, it has more features. So far we didn't have a need to use them, so it was easy to reject rare contributions which rely on it in order to maintain VS2010 compatibility. However, personally I think that if there's a major contributor[s] who really thinks C++11 can add real value, we can drop VS2010 compatibility and make the jump. That's only my opinion, however. Also, preferably such contributor would show some competency with PCSX2 without c++11 - before we drop backward compatibility.
7. PCSX2 has way too many options - especially for reporting bugs, but also hard for users to learn it. First, there's the "presets" system (at the bottom of emulation options). It takes away most of the internal pcsx2 options and turn them into a 6-notches slider. From "Safest" (and slowest) to "Mostly harmful" (and probably also not fastest). The first one is the "no hacks" preset. 3-4 are probably the safest bets to try when trying out a new game (in terms of balance between compatibility and speed). Done, don't mess with options. Same for GSdx (graphics) and SPU2-x (audio) - the defaults are best, and the rest only enhance the quality or speed at the cost of potential incompatibilities. If they works for you - great, otherwise, use the default settings.
It's true, however, that over the years PCSX2 collected some/many per game hacks/workarounds. This is apparent at two places: Games DB ("automatic games fixes" at the main menu) and GSdx's CRC hacks (can be disabled via the HW hacks dialog of GSdx). If you want absolutely vanilla PCSX2 with zero (or close enough to zero) per-game workaround, disable those two. Note however that many games may stop working or exhibit different levels of issues.
8. compatibility list. Our ranking system is very old, but also very accurate and explicit. "playable" (5 stars) means the game can be completed start to finish. Regardless of speed, visual issues, etc. However, games with extreme issues (way too slow on a modern system, or enough visual bugs to make it really not fun, etc) usually don't get "playable" rate even if they can be completed from start to finish. We're open to suggestions on a different rating system (maybe just add a 6th star: "perfect"?), but redoing the whole list is going to be a considerable effort, and I'm not even sure how possible it is. Nevertheless, constructive suggestions, especially those which won't make us throw away all the current data which was collected over many years of testing - will be appreciated.
As you can tell, we don't have enough resources to make a real shift, but we try to welcome to new contributors as much as we can. There have been several new contributors over the past few years, so it's not impossible. If you feel like helping without conditioning it with something we should do first, you're welcome. That's more or less it.
Let's start with everyone's favorite subject, and hopefully it's also the last time it's mentioned on this thread - the AVG toolbar.
1. We don't like crapwere the same as anyone else doesn't like it, and we don't like dropping crapware on our users. But AVG is here now, it might go away tomorrow, and we might replace it with something else next week. We've discussed it internally extensively, we've rejected tons of alternatives, we've added AVG only after we've met with them personally and toured their offices, and took as much precautions we could think of to make it as least sneaky as possible (option isn't hidden, only for official builds which are typically released once a year, can be uninstalled, etc). Take it as a fact for now. There's no point in conditioning contribution because some builds have an option to install AVG. This is how it is right now. We would not like to see people go away for this, but we're also not going to argue this.
Take it for granted that we care about our users. Really all of us do, and we won't drop sneaky crap on them. And yet, it's our decision to make - and we didn't take it lightly or quickly and we took precautions, and it's your decision if you can live with it or not.
Now, if you want to read on, please do.
2. PCSX2 has no devs working full time on the code, very few devs who contribute code occasionally, and definitely not enough resources/knowledge to handle the vast majority of bug reports. Several very involved coders left the project due to various reasons about 2-3 years ago (NOT due to any of the issues mentioned on this thread - e.g. some were snatched by ... big companies), and the devs team has been very lacking since. This includes gabest which was the main power behind GSdx, and existing devs are not knowledgeable enough to rewrite GSdx (Gabest has been known to come back once in a year or so and make changes, but otherwise he's not "in the loop").
3. Code complexity and deterrence/simplification: see 2. Contributions are very welcome.
4. PCSX2 prefers speed over accuracy: absolutely not true. We do sometimes have tough choices, but if a choice is between speed and accuracy, we'd always prefer accuracy, and at most will add the "speed" option as an optional speed hack. It's really simple.
5. Plugins yes no: it's an endless debate. However, you should know: PCSX2 needs only 3 plugins: gamepad (Lilypad), audio (SPU2-X) and graphics (GSdx). These plugins are part of the main repo and occasionally updated/fixed. They're the only main plugins, and no other plugin should be used (most are also not bundled). There were no complications (as far as I know of) due to the plugins system, and there are not enough plugins to duplicate code. Just 3 non-overlapping plugins, all of those are selected by default when starting PCSX2 for the first time, and there's no plugin hell. That's how it is and has been for many years now with PCSX2.
6. C++11 . True, it has more features. So far we didn't have a need to use them, so it was easy to reject rare contributions which rely on it in order to maintain VS2010 compatibility. However, personally I think that if there's a major contributor[s] who really thinks C++11 can add real value, we can drop VS2010 compatibility and make the jump. That's only my opinion, however. Also, preferably such contributor would show some competency with PCSX2 without c++11 - before we drop backward compatibility.
7. PCSX2 has way too many options - especially for reporting bugs, but also hard for users to learn it. First, there's the "presets" system (at the bottom of emulation options). It takes away most of the internal pcsx2 options and turn them into a 6-notches slider. From "Safest" (and slowest) to "Mostly harmful" (and probably also not fastest). The first one is the "no hacks" preset. 3-4 are probably the safest bets to try when trying out a new game (in terms of balance between compatibility and speed). Done, don't mess with options. Same for GSdx (graphics) and SPU2-x (audio) - the defaults are best, and the rest only enhance the quality or speed at the cost of potential incompatibilities. If they works for you - great, otherwise, use the default settings.
It's true, however, that over the years PCSX2 collected some/many per game hacks/workarounds. This is apparent at two places: Games DB ("automatic games fixes" at the main menu) and GSdx's CRC hacks (can be disabled via the HW hacks dialog of GSdx). If you want absolutely vanilla PCSX2 with zero (or close enough to zero) per-game workaround, disable those two. Note however that many games may stop working or exhibit different levels of issues.
8. compatibility list. Our ranking system is very old, but also very accurate and explicit. "playable" (5 stars) means the game can be completed start to finish. Regardless of speed, visual issues, etc. However, games with extreme issues (way too slow on a modern system, or enough visual bugs to make it really not fun, etc) usually don't get "playable" rate even if they can be completed from start to finish. We're open to suggestions on a different rating system (maybe just add a 6th star: "perfect"?), but redoing the whole list is going to be a considerable effort, and I'm not even sure how possible it is. Nevertheless, constructive suggestions, especially those which won't make us throw away all the current data which was collected over many years of testing - will be appreciated.
As you can tell, we don't have enough resources to make a real shift, but we try to welcome to new contributors as much as we can. There have been several new contributors over the past few years, so it's not impossible. If you feel like helping without conditioning it with something we should do first, you're welcome. That's more or less it.