Code Monkey home page Code Monkey logo

Comments (9)

regiskuckaertz avatar regiskuckaertz commented on June 20, 2024 2

@kailuowang I know your work sir and it would be a real pleasure to welcome you in the team, esp. as I don't intend on contributing much anytime soon. This is me on the outside

giphy

but on the inside

giphy-2

cc @mchv @rtyley @davidfurey

from scanamo.

rtyley avatar rtyley commented on June 20, 2024 2

I've added @kailuowang to the @scanamo/active-maintainers team, welcome again Kai!

from scanamo.

rtyley avatar rtyley commented on June 20, 2024 1

Hi @kailuowang ! Similarly, I know (and depend on!) your work, and would be delighted to welcome you to as a maintainer of Scanamo! While we're doing that, it might be a good idea to talk about what all us maintainers are hoping to get out of Scanamo, aims for the project, etc so we can all support each other.

What I'm going to say broadly reflects the needs of us at the Guardian (at least, I think so - David/Mariot feel free to correct me!). As you might know, Scanamo was initially created by Phil Wills while he was at the Guardian, and all the current GitHub owners of this org are either currently working at the Guardian (@davidfurey @rtyley @mchv) or are former Guardian staff (@regiskuckaertz). The Guardian currently has ~50 repos that depend on Scanamo, many of which are active - we need to maintain those projects, and part of that is keeping our dependencies up-to-date with security patches, system updates etc - we don't want to get left behind and stuck on old versions! The current core functionality of Scanamo is fantastic for us, and we don't have any current pressing needs to extend it's functionality (other than keeping up to date with new AWS DynamoDB features that are useful) - we just need it to stay up-to-date and to be able to fix bugs that affect us.

For us at the Guardian, and particularly for myself, we would like:

  • To ensure Scanamo supports the latest Scala language versions, with a migration path from one to the next - at the moment, my target for that support would be Scala 3 & 2.13.
  • To minimise Scanamo maintenance load. We can do this by eg:
    • Dropping older Scala language versions as they begin to take significant development effort to support. So, I'd personally be happy to sacrifice Scala 2.12 support soon, if it were to make the transition to Scala 3 easier.
    • Avoiding increasing the size/complexity of the project
  • Stability of Scanamo API/syntax - with so many existing projects depending on Scanamo at the Guardian, upgrades can be quite a substantial effort if syntax changes are required. This is also a bit exacerbated because the versioning scheme for Scanamo has been simple increments of milestone number for several years - if we were to bite the bullet and get to 1.0.0 we could perhaps agree to semver-style updates, with Minor/Patch level updates not requiring syntax changes in projects that use Scanamo.

So that just reflects what we at the Guardian need, and obviously you @kailuowang at your own company might have different needs which it would be great to understand, so please do let us know how the above fits in with what you'd like to contribute, and what you're going to need?

Would it be good to have a video hangout sometime in the coming week to say hi?!

from scanamo.

kailuowang avatar kailuowang commented on June 20, 2024 1

Hey, @rtyley Thanks very much for the detailed information. It seems that what you guys from Guardian need from Scanamo is exactly what I need as well. Our goals for Scanamo are perfectly aligned.
The 3 things I think I would propose is that

  1. release M16
  2. migrate away from Travis to Github action.
  3. I think Scanamo core is ready to go 1.0.0. With the current mono-repo setup, those 3rd party integration modules are sharing the same version with the core, which means that we're tieing 3rd party major version to Scanamo's. So at some point, we might need to break them into separate repos. It could be when one of the dependencies breaks binary compatibility, or before we release 1.0.0. I have no preference over one way or another.

I'll be more than happy to video hangout in the coming week.

from scanamo.

rtyley avatar rtyley commented on June 20, 2024

Our goals for Scanamo are perfectly aligned.

That's great! 😄

The 3 things I think I would propose is that

  1. release M16

I actually did that yesterday! It was my first time performing a release of Scanamo, but it's actually a remarkably easy process - just push a git tag and the CI takes care of releasing it - it's available on Maven Central now.

  1. migrate away from Travis to Github action.

I've not quite had enough time to learn the advantages of GitHub Actions over Travis, but I have noticed that properly configured GitHub Actions seem to build faster! What are your favourite advantages? There'll be a few secret-values to transfer over - and we might want to consider whether we want to proceed with using @regiskuckaertzs credentials!

  1. I think Scanamo core is ready to go 1.0.0. With the current mono-repo setup, those 3rd party integration modules are sharing the same version with the core, which means that we're tieing 3rd party major version to Scanamo's. So at some point, we might need to break them into separate repos. It could be when one of the dependencies breaks binary compatibility, or before we release 1.0.0. I have no preference over one way or another.

Yeah, I'm happy enough to for them to leave them be for now.

I'll be more than happy to video hangout in the coming week.

Would a quick 20 minute call on Tuesday be good? I can do anytime within 8:30am-10am or 11am-1pm New York time (1:30pm-3pm or 4pm-6pm London time) - does that work well for you?

from scanamo.

kailuowang avatar kailuowang commented on June 20, 2024

In the last couple of years, Travic CI went through some significant changes including ownership change (owned by a private equity now) and pricing policy for OSS projects. As a result many OSS projects lost confidence in the platform.
Their concern might be justified after the recently security vulnerability discovered).

GH action, on the other hand, has been working way more consistently and faster. Most prominent Scala OSS projects have migrated to it.
That being said, there is no immediate urgency for this.

12:30PM New York Time , i.e. 5:30PM London time works best for me.

from scanamo.

rtyley avatar rtyley commented on June 20, 2024

Great, that all sounds good to me (GitHub Actions & the time!). I've sent a calendar invite for a Google Meet meeting (note, you might want to visit the link in advance if you haven't used Google Meet before, as you may have to restart your browser to grant audio/video permissions) at 12:30PM New York Time / 5:30PM London time - I've invited @regiskuckaertz , @kailuowang , and optionally @davidfurey & @mchv, I hope everyone who's interested can attend!

from scanamo.

rtyley avatar rtyley commented on June 20, 2024

I've corrected the calendar invite because I got it wrobg the first time - the meeting is tomorrow (Tuesday), not today!

Also, the project creator, the marvelous @philwills has also said he'll try to join us if he can!

from scanamo.

kailuowang avatar kailuowang commented on June 20, 2024

from scanamo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.