✔ 最佳答案
The sentence is grammatically correct.
Structure: 1st main clause, but (coordinating conjunction) + 2nd main clause
The 1st main clause tells us a fact. (By 1003 they have developed the first known gun)
"but" gives a sense of contrary.
The 2nd main clause relates to the reason behind the fact, and suggests two possibilities of the cause which is still unknown.
(1) 1st possibility = they did this because they had invented the explosive mixture to go with it
(2) 2nd possibility = they simply borrowed it from someone else
We use the conjunction "whether ... or ..." to express a choice between the two possibilities, which in a way, forms an indirect question. That means the clause "whether (1) or (2)" functions as a noun clause (interrogative content clause), being the subject of the 2nd main clause.
You would perhaps see it clearer if I put the sentence in the it-cleft structure, as follows:
..., but it is still a mystery whether they did this because they had invented the explosive mixture to go with it or (whether they) simply borrowed it from someone else.
2012-08-13 16:09:14 補充:
In fact, the 2nd possibility is only a satire to mean they have not actually developed the gun.