In the northern hemisphere, the official seasons are as follows: winter goes from the winter solstice (December 21) to March 19 (the day before the spring equinox on March 20), spring from March 20 until June 19 (the day before the summer solstice on June 20), summer from June 20 until September 21 (the day before the fall equinox on September 22), and then it is fall from September 22 until December 20. (The dates given for the equinoxes and solstices are for 2012 and can vary by a day or so from year to year.)
The problem is that this labeling of seasons is somewhat arbitrary and does not have a solid empirical basis for it and neither does it correspond to our intuitive sense of winter as the coldest time of the year and summer as the warmest.
It would surely make more sense to define winter as ranging over the 91 coldest days of the year, which would make it from December 6 to March 6, with the mid-point being January 20, the coldest day.
Similarly, the hottest day is July 22, so summer should be 91 days centered on that day, i.e., from June 7 to September 5.
Then spring would be from March 7 to June 6 and fall would be from September 6 to December 5.
I think this would make a lot more sense. After all, people feel that winter has arrived long before December 21. It would also make the beginning of the fall season align more closely with our sense that the Labor day holiday in the US (the first Monday in September) and going back to school marks the end of summer.
But I think that it is unlikely that this system will be adopted because the power of tradition is just too strong. It will be ignored like my other ideas to improve the world, such as that shoes should be sold singly and not in pairs and that the American Thanksgiving holiday should be shifted to the last Thursday in October, closer to the one in Canada.