Today I ran into yet another Joomla! 1.0 site that had Core tables altered by other extensions. Thankfully Joomla! 1.0 is going away soon and 1.6 is coming up, so I want everyone to make a new years resolution for 2009 for me: I won't hack the Joomla! Core (either files or database). I know its tempting to put those extra fields in the tables right where the data is but try to abstain, making a new table isn't too hard and if you want to get it in one request you can do a join. I know its tempting to hack a file to make a change, but we're trying to give you options so that you can avoid doing that.
And if you think what you want to try and achieve can't be done without a Core hack, then make sure you educate your users before they install your extension so that they understand what you're doing. To their credit some people do this well but there are cases where this could be done better! Make sure its not some surprise to them that something has changed without them knowing. And then, once you've made it work out what you would have needed within Joomla! to make what you wanted to do work without a hack. Perhaps you just need a plugin trigger in the right place or you need an extra field in a table somewhere that would make your life and others easier. Once you've worked out what you need, put it together in a white paper and submit it to the white paper forum for consideration in the next Joomla! release. With 1.6, integrated core ACL will hopefully remove one of the larger areas for Core hacks for that aspect as well as new plugin triggers to help mitigate other issues.
So developers, lets have a nice new years resolution to do our best not to hack the Core or work so that we don't have to do it any more.