This all comes down to party, and how parties cooperate. In theory, in the Westminster system, the definitions of Government and Opposition don't inherently go along party lines -- however, as you might guess from the italics, there's a 'but' just over the horizon...
Political parties originally grew out of two Parliamentary factions. And it's still the case, even in this era of formal parties (and party-funded election candidates), that all of the members can be grouped into two factions: if you're formally counted as supporting the government (i.e. the ministers) then you're part of "the Government"; if you're not, then you're "the Opposition"
How parties work in a legislative body is not always in line with their (initial) formal organisation: see, for example, MPs who have been elected under their party banner but then "had the whip withdrawn" i.e. had their party membership withdrawn or suspended; however, they still sit with their party, on the Government or Opposition benches. Or, in the US Congress (which is a slightly different system, I know) you sometimes get the inverse: legislators like Bernie Sanders who aren't elected under a party nomination, but nevertheless "caucus with" a party and so get some of the benefits that come with that (committee assignments) in exchange for the party getting the benefits of increased "membership" (like a larger share of the committee assignments). In the US those "sides" are termed "Majority" and "Minority" rather than "Government" and "Opposition", but what matters is that it's divisible into two broad factions. In Congress, if you caucus with the Majority then you might get one of the gifts that the Majority are in a position to hand out (like being Chair of a Committee). In Parliament (Canadian, or British), if you sit with the Government, vote with the Government (grunt and squeak and squalk with the Government), then in exchange for your support you might get a Ministerial post.
So being on the "Government" or "Opposition" sides isn't inherently allied with party membership: SJuan76's answer points out the wartime National Government in Britain. During the National Government, when Government positions were variously occupied by members of the Conservative, Labour, Liberal National, Liberal, National Labour, and National parties, there was still a nominal 'Leader of the Opposition', but that post was held by a member of the Labour Party (even though 'Labour' were in government: quoth Wikipedia, "During World War II a succession of three Labour politicians acted as Leader of the Opposition for the purpose of allowing the House of Commons to function normally, however as in the mid World War I ministry, opposition did not run under a party-whipped system.").
All other things being equal, the normal practice is for the Government benches to be populated by members of the Government party or parties, and the Opposition benches to be populated by the rest. The Government could give a ministerial post to someone from another party without expecting the support of that party, but (to put it in cold, hard politics) why would they when those positions are such valuable bargaining chips, and are normally only exchanged for significant support in Parliamentery votes? Importantly, once in a Cabinet position one has a say over general government policy – that's not a privilege that a governing party would give to an 'outsider' without needing to. Typically, the largest party only let another party's members join them in Government if they are a long way short of a majority, and need a lot of extra seats on their side: by giving a second party a share of the Ministerial posts (and the commensurate influence over policy) they can ensure that all of that party's members will vote in line with the (collective) Government line. The level of influence that comes with a ministerial post is significant enough that in many cases those posts aren't handed out even if the Government's in the minority: see, for example, the current situation in Britain where the minority Conservative government have promised to tweak some policies in exchange for the support of the Democratic Unionist Party, thereby acquiring an extra ten votes in the House of Commons. Even needing those ten votes, there was no suggestion that the Conservatives would give the DUP a ministerial post.
It's also worth noting that, even if a Government party extended the offer of ministerial positions, a party may not be inclined to join the Government. Worse, if the offer were made to an individual member, rather than to a party, that person probably wouldn't accept it, or if they did might be kicked out of their party for trying to serve two masters (see, for example, Ramsay MacDonald, the first British Labour Prime Minister – who headed a Conservative-supported government and was kicked out of his own party for doing so). Note that in Weaver's tweet, he states that "[The BC Green Party] haven't entered a coalition so such a position is off table" – as ever, it comes down to the party line.
If Weaver were appointed Minister of the Environment that wouldn't just put him in charge of the Environment Ministry's administration. It would mean that he would be responsible ("collective responsibility") for the actions and policies of the whole Cabinet and, accordingly, would get a say in those decisions. That's not power that most Governments would willingly give to someone from another party unless they were already beholden to that party for some other reason – for example, if they needed that party's votes to pass a budget.
...so there's no inherent reason why Weaver couldn't be Environment Minister, but (unless there's some great issue – like a war – on which (nearly) everyone can agree) the general convention is to only give that degree of influence to parties who you need votes from, trading influence for support.