Trading players is not like trading baseball cards. No one is going to be like "Bryce Harper is awesome! I'll give you a bunch of stuff because I have got to have him." Teams take salaries and contracts into consideration. No team is going to give up a lot for Harper because of the exact same reasons that people here seem so eager to trade him away. He's expensive, he's only under team control for a year and no one has a good idea of where is is going to be after 2018.
If Harper was under cheap control for three more years, then yes, you could extract a kings ransom for him. But he was in that exact situation 2 years ago, and I bet no one here was advocating that he be traded.
You would still get a very, very good return on Harper even with him being a free agent after this season. He's going to make $21.625MM in 2018, which in an era where Bartolo Colon signed for $12MM in 2017, that's a bargain. Look at some of the hauls teams have gotten in deadline deals for pending free agents, like the Chapman trade from the Yankees to the Cubs in 2016. That's to rent a guy for a couple of months.
With that said, we're trying (again) to win the World Series in 2018 and have a roster that is capable. We aren't in a rebuild. If we trade Harper, we aren't improving our team NOW. In fact, we're going to severely weaken it for 2018. This is what you do:
1) Try and extend Harper this offseason. It may be a long shot, but Strasburg got done before he hit free agency. I can see Harper signing a long-term deal but with an opt-out, so that he can test the free agency market again in a few years.
2) If somehow we're out of contention at the deadline and Harper hasn't signed an extension, then you trade him.
3) If we keep HArper all of 2017 and he doesn't sign an extension, then you make a QO at the least.