On the surface it seems like a good deal because they protected themselves, but because they have left this keep/release window open yearly then they are going to be facing controversy EVERY year. They made this deal because they don't believe in Colin Kaepernick, plain and simple. They either don't believe he's a franchise QB or they only believe he's a franchise QB because of Jim Fartbaugh/Greg Roman and it's possible/likely either/both will be gone soon. Either way if he doesn't do anything short of put up elite numbers every year there will be fans/players/media/etc. clamoring for the 49ers to dump Kaep before they owe a lot of money and to sign/draft whoever the hot QB is at that time. It seems like Baalke just made a tough call, but really he couldn't make the tough call and found a way to never have to make the tough call. This "year to year" payment plan will also keep other players contract negotiations in limbo.
Good GM's either strap themselves to a player they believe in or they let things play out and move on from a player they don't believe in. Baalke is not a good GM. I'm not complaining though, I assumed this would be the beginning of the end for this really good 49er team, but I think Navarro Bowman mutilating his leg was the beginning followed by all their DBs leaving. Their OLine will get dismantled because of money, Crabtree will probably be traded, Roman will take another job as a HC, etc. Meanwhile arguably the best ILB of his generation (Pat Willis) will slowly fade into history without a SB ring, much like Adrian Peterson and Calvin Johnson. It's a shame when such talented players, who actually seem like good guys, have their talent squandered by useless franchises.