Import score from SE

We can import the content from SE, but would it be possible to keep the score/karma from SE? If this measure is useless per se if it can come with the same kind of rights than on SE, it would be useful to keep helping the platform.

Related to MVP Discussion: Reputation

The score can be copied, but the individual votes (who made them) can not be viewed by people from outside the company. It is kept private. So you will have a bunch of scores on imported questions that have some legacy, but it can not change (e.g. people can not retract or change these votes when the content changes because nobody owns these orphan votes).

A similar issue exists with accepted answers.

1 Like

A simple solution would be to have a ranking by score of:

  • Codidact score (highest to lowest)
  • SE (or other imported content) score (highest to lowest)

So if/when an imported Q or A gets Codidact votes, it immediately moves to the top (i.e., above all “only imported but no new votes”) items. But always show that old score too.

1 Like

I’d probably advise against the ability to directly copy reputation from SE and just add it to the user’s reputation value. It’s a fairly significant consideration within our reputation system that we’d have to maintain and take into account on every code path involving voting and reputation, and it may hamper our ability to correctly re-calculate reputation.

What we could do instead would be to copy votes - if we have a user equivalent to Community, we could exempt it from only being able to vote once per post, and simply copy votes on each post to our Community user, thus giving the author the correct amount of rep for our system. That way, we can still recalculate rep within our system easily, because we don’t have to take into account ad-hoc reputation grants.

The other way to do this would be to properly implement ad-hoc grants. These, being a fundamental part of the reputation system, could be more easily included in calculations, and could be used for a multitude of purposes. They could apply to copying rep from SE, certainly, but could also be used for things like bounties. They could also be used to allow system admins to add/remove rep from a user - I’ve seen that ability available in other Q&A implementations, but it’s a fairly major difference and we’d need to work out whether we want it.


I don’t think reputation should be copied from SE. There are numerous pitfalls with doing that plus, arguably, new users should prove their ability in the new system. The exception might be to give an equivalent of the Association bonus that SE gives when you join a site and have already been active in another site - that would make it so that people transferring over would not be starting from 0 and would be able to do the basics (e.g., comment) right away.

What I think should be copied is only the number of votes per Q or A. That way if we have a lot of imported content it can be ranked appropriately. As imported Q & A get upvoted in the new system, they instantly rise to the top.


Hard no on this idea. We’re creating a new site, and that means a fresh start, especially with the sort of elitist situation that happens on SE to this day.


I think a user who creates an account on Codidact, links it to an SE account, and thereby claims the imported content should also be able to claim the votes (not the raw rep). This will be important in getting SE users to move over (and SE users are our primary target for the first few iterations at least). We might choose our rep values differently, and we might even choose to score legacy votes differently from native votes, but I think the number next to the post, and some reputation effect TBD, will be important in building engagement.


I generally agree. One think I’m a little worried about (probably more than I need to be) is doubling. Specifically, assuming that the data we get from SE does not include who provided each upvote, is that if a bunch of people move over from SE (which we hope will happen) and they revote on each other’s Q & A then effectively they will end up with double votes - once for the original at SE and again for the vote at Codidact.


Yeah, I thought about that too. I’m not sure what we could do about it, since we will not get voter identity from SE. The same thing happens with migrations on SE; you can vote for something on the original site and then after it gets migrated you can vote again. This is definitely not ideal. And maybe this is a reason to lower the value of legacy votes; I haven’t thought this through.


Maybe, just maybe, we could implement importing of upvoted/downvoted questions and answers, as well as favorites, via an userscript. Then, whoever wishes to have their reputation transferred to our platform is required to run it.

Just throwing in this idea for your consideration…

I still oppose importing reputation because as it stands, SE reputation is highly flawed and users who have been around for years will automatically get reputation on our different system, even though they did not earn thousands of points on our site.

Let’s sart fresh, let everybody make a new name for themselves, and avoid the reputation gap that SE has. Also, we haven’t even decided on how we are doing reputation yet, so it’s too soon to decide this.


Having thought about this more, I agree with the “new start” idea with some tweaks:

  • Some form of association bonus for people coming over from SE. This isn’t rep but privilege– a way to get past the new-user barriers.

  • Votes should come over but be differentiated from native Codidact votes. Supply the information that came with the post, but don’t use it to drive things here.

  • We might not have a single rep number at all. (I’m in favor of no rep but privilege tracks, so doing action X well gets you more ability to do action X.) If we do have a rep number, imported votes don’t contribute to it.


I just found out about codidact, and have spent the past almost hour reading, so apologies if I’m missing something important. I’m hoping to get involved, but a tad overwhelmed at trying to catch up!

It seems like there is consensus reputation will be different so trying important rep won’t work anyway. I agree with @cellio that giving some type of privilege for existing users, albeit not rep on the site, will help drive engagement. I’m also okay with no rep but privilege tracks or “stars” as someone else said it. But all this means we kinda have to go with a new-start paradigm.

Also, I think asking users to place a special code in their SE profile, or some other objectively verifiable mechanism would be wise. It’s best to avoid issues of people trying to steal other user’s names and privileges.

Edit: it looks like SE has an SSO option, so we can probably leverage that to tie accounts together, as is commented over here


SE, and most Q+A sites, have a problem with older questions receiving vast numbers of upvotes simply because that person asked a question they either knew the answer to or couldn’t be bothered to research.

I strongly object to porting SE rep for this reason.


FYI you can get this information from the GDPR dump: Submit a data request - Stack Overflow

This is actually exactly what “data portability” under GDPR is designed for - taking data you gave one provider and moving it to another provider.


What information are you referring to?

I agree with the other answers about not simply using imported SE scores verbatim, if for no other reason than SE scores will be of a very different scale than Codidact scores, since SE (presently) has far more users and history.

What I think might make sense is to note on content imported from SE that it came from SE originally, and allow all the metadata of that original context to be seen (though not by default, maybe on hover or click). This would include things like the original SE URL, the date and time of import, and the score on SE at time of import. That way, none of that data gets lost, but it also doesn’t get in the way of things being done differently here.

I like the concept of an association bonus for users migrating from SE, and I think it might make sense to do something similar for posts – perhaps things with a positive score on SE gets a one time +5 or something here on import, and then normal voting can take place to modify that.

1 Like

Reporting the original score in import but not otherwise using it is a nice approach. That way human readers can see it if they want, but it doesn’t affect whatever we do with votes or scores. And actual voting starts fresh on the new site, and thus nobody double-votes by having voted there and then voting here.


Sorry, I should have quoted the post I was replying to.

@Marc.2377 suggested a userscript to scrape the votes and favorites a user had made on SE, if they want to import their reputation/account to Codidact. The same information (and more) is available via the GDPR dump, as json files.


Because you were referring to GDPR I thought you meant something different than voting history, which is already available directly.

The downside of GDPR is that such request might take up to 1 month. And possibly it might not be required in all countries.

In addition we may not want to deal with files that contain the entire (personal) data from a person.

And, I don’t believe we should create a precedent that GDPR is being used for this ordinary purpose. (Although eventually it is gonna be that way anyway, companies creating fast and standard code to scrape all your personal data from their servers, and that might make them think about how much ‘private/personal’ information they actually store.)